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

2024-06-25 1486阅读

总目录

C# 语言类型(三)—数组/枚举类型/结构体
(图片来源网络,侵删)

C# 语法总目录

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

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

          一、数组

          1. 数组创建

          //第一种 数组的初始化方式
          //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 矩形数组

          //矩形数组
          //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 锯齿形数组

          //锯齿形数组
          //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. 枚举类型使用

          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. 结构体的使用

          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# 语法总目录

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]