浅析C#定义整型数组

高洛峰
高洛峰 原创
2016-12-16 14:57:28 2422浏览

  C#中数组是引用类型,C#定义整型数组方式是:

  int [] intArray = {1,2,3};或int [] intArray = new int[10];

  而C++中定义整型数组的方式是:

  int intArray[] = {1,2,3};或int * intArray = new int[10];

  C#定义整型数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。

  注意:定义多维数组(矩阵)的方式是[,,]而定义多维“参差矩阵”的方式是[][]。另外,new关键字的使用并不一定表示对象是动态分配的(进入栈中)。

  下面是C#中(一维)多维数组常见的定义方式:


  
  int []a1; //定义一维数组
  int [,]a2; //定义二维数组
  int [,,]a3; //定义三维数组
  int []a1 = new int [10]; //定义一维数组深度
  int [,]a2 = new int [10,20]; //定义二维数组深度
  int [,,]a3 = new int [10,20,30]; //定义三位数组深度
  int []a1 = new int []{1,2,3}; //初始化
  int [,]a2 = new int [,]{{1,2,3},{4,5,6}};

  还可以定义“参差不齐”的数组:


  
  int [][]var = new int [3][];
  var[0] = new int[]{1,2,3};
  var[1] = new int[]{1,2,3,4,5,6};
  var[2] = new int[]{1,2,3,4,5,6,7,8,9};

  注意,int [,]a和int [][]a的区别:前者定义了一个二维固定数组,后者定义了一个二维可变数组。只是它们都还没被分配空间和初始化。int [][]var = new int[3][4];是错误的。

  以下错误:


  
  class Test
  {
  static void F(int []arr){}
  static void Main()
  {
  F({1,2,3});//出错!{1,2,3}并非有效表达式。
  }
  }
  
  class Test
  {
  statci void F(int []arr){}
  static void Main()
  {
  F(new int []{1,2,3});
  }
  }

  以上介绍C#定义整型数组


更多浅析C#定义整型数组相关文章请关注PHP中文网!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:C#中如何定义数组 下一条:C#数组的声明