浅析C#定义整型数组

本文介绍C#定义整型数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。定义多维数组的方式是[,,]。
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(new int []{1,2,3});
}
}

[整理自网络]

此条目发表在other分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据