C# 语言类型(三)—数组/枚举类型/结构体

总目录
C# 语法总目录
参考链接:
C#语法系列:C# 语言类型(一)---预定义类型值之数值类型
C#语法系列:C# 语言类型(二)---预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)---数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)---传递参数及其修饰符
C#语法系列:C# 语言类型(五)---其他

C# 语言类型 三---数组/枚举类型/结构体

      • 一、数组
        • [1. 数组创建](#1. 数组创建)
        • [2. 多维数组](#2. 多维数组)
          • [2.1 矩形数组](#2.1 矩形数组)
          • [2.2 锯齿形数组](#2.2 锯齿形数组)
      • 二、枚举类型和结构体
        • [1. 枚举类型使用](#1. 枚举类型使用)
        • [2. 结构体的使用](#2. 结构体的使用)

一、数组

1. 数组创建
csharp 复制代码
//第一种 数组的初始化方式
//int[] scores = {23,43,432,42,34,234,234,2,34} ;//使用这种方式赋值的时候,一定要注意 在数组声明的时候赋值

//第二种数组创建的方式
//int[] scores = new int[10];
//int[] scores;
//scores = new int[10];

//int[] scores = new int[10]{3,43,43,242,342,4,234,34,234,5};
//Console.WriteLine(scores[10]);//当我们访问一个索引不存在的值的时候,会出现异常exception

//char[] charArray = new char[2]{'a','b'};
//Console.WriteLine(charArray[1]);

string[] names = new string[]{"taikr","baidu","google","apple"};
Console.WriteLine(names[0]);
Console.ReadKey();
2. 多维数组

多维数组分为锯齿形数组矩形数组

2.1 矩形数组
csharp 复制代码
//矩形数组
//1.
int[,] retrict = new int[3, 3]
{
    {1,2,3},
    {2,3,4},
    {2,3,4}
};

//2.
int[,] rer =
{
    {1,2,6},
    {2,3,4},
    {2,3,4}
};
2.2 锯齿形数组
csharp 复制代码
//锯齿形数组
//1.
int[][] res = new int[3][];
res[0] = new int[] { 4, 5 };
res[1] = new int[] { 4, 5 };
res[2] = new int[] { 4, 5 };

//2.
int[][] tes = new int[][]
{
    new int[]{4,5},
    new int[]{1},
    new int[]{7,8,9}
};

//3.
int[][] ret =
{
    new int[] { 4, 5 },
    new int[] { 4, 5 },
};

二、枚举类型和结构体

1. 枚举类型使用
csharp 复制代码
namespace _037_枚举类型 {
    //枚举类型的定义
    enum GameState:byte//修改该枚举类型的存储类型,默认为int
    {
        Pause = 100, // 默认代表的是整数0
        Failed = 101,// 默认代表的是整数1
        Success=102,// 默认代表的是整数2
        Start=200// 默认代表的是整数3
    }
    class Program
    {
        static void Main(string[] args) {
            利用定义好的枚举类型 去声明变量
            //GameState state = GameState.Start;
            //if (state == GameState.Start)//枚举类型比较
            //{
            //    Console.WriteLine("当前处于游戏开始状态");
            //}
            //Console.WriteLine(state);

            //int state =3;
            //if (state == 3)
            //{
            //    Console.WriteLine("当前处于游戏开始界面");
            //}
            GameState state = GameState.Start;
            int num = (int)state;
            Console.WriteLine(num);
            Console.ReadKey();
        }
    }
}
2. 结构体的使用
csharp 复制代码
namespace _038_结构体 {
    //我们可以把结构体当成,几个类型组成了一个新的类型
    //比如下面的这个就是使用了3个float类型的变量,来表示一个坐标类型
    struct Position
    {
        public float x;
        public float y;
        public float z;
    }

    enum Direction
    {
        West,
        North,
        East,
        South
    }

    struct Path
    {
        public float distance;
        public Direction dir;
    }
    class Program {
        static void Main(string[] args)
        {
            //通过三个float类型的变量来表示一个敌人的坐标
            //float enemy1X = 34;
            //float enemy1Y = 1;
            //float enemy1Z = 34;


            //float enemy2X = 34;
            //float enemy2Y = 1;
            //float enemy2Z = 34;

            //当使用结构体声明变量的时候,相当于使用结构体中所有的变量去声明
            //Position enemy1Position;
            //enemy1Position.x = 34;//可以通过.加上属性名来访问结构体中指定的变量
            使用结构体让程序变得更清晰
            //Position enemy2Position;

            Path path1;
            path1.dir = Direction.East;
            path1.distance = 1000;
        }
    }
}

总目录
C# 语法总目录
参考链接:
C#语法系列:C# 语言类型(一)---预定义类型值之数值类型
C#语法系列:C# 语言类型(二)---预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)---数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)---传递参数及其修饰符
C#语法系列:C# 语言类型(五)---其他

相关推荐
刘名喜7 分钟前
第09篇-协程基础-Kotlin异步编程
开发语言·kotlin·springboot
其实防守也摸鱼12 分钟前
HackBar 工具完全指南:信息探测、漏洞验证与安全测试实战
开发语言·人工智能·学习·安全·网络安全·安全威胁分析·安全性测试
会博通·代码搬运工25 分钟前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规
林森lsjs44 分钟前
完结撒花!Java SE 语法阶段总结!
java·开发语言
lupai1 小时前
短信接口快速接入与调用实战指南
java·开发语言·数据库
刘名喜1 小时前
第12篇-Gradle-Kotlin-DSL构建指南
开发语言·kotlin·springboot
大鱼>1 小时前
DSPy:LLM程序自动编译与提示词优化
开发语言·人工智能·python·深度学习
撩妹帝九歌1 小时前
Java文件写入与编码、字节数组、字符集、字符编解码 一文打通!
java·开发语言
星核0penstarry1 小时前
Solon AI v4.0.4 技术分析:Java Agent 框架的兼容性突破与选型考量 基于 OSCHINA 2026-07-30 报道及公开技术资料整理
java·开发语言·人工智能
昨夜星河入梦来1 小时前
postman接口测试报错503的解决方法
开发语言·postman