C# 数组的声明和初始化

一维数组

static void Main(string[] args)
{
    int[] arr1 = new int[5]; // 默认初始化为 0
    for (int i = 0; i < arr1.Length; i++) {
        arr1[i] = i;
    }
    foreach (int a in arr1) {
        Console.WriteLine(a);
    }
}

输出:

0
1
2
3
4
请按任意键继续. . .

int[]这样一起可以看成是一个类型。

 static void Main(string[] args)
{
    int[] arr1 = new int[5] { 1, 2, 3, 4, 5 };
    foreach (int a in arr1) {
        Console.WriteLine(a);
    }
}

输出:

1
2
3
4
5
请按任意键继续. . .

数组声明定义时,也可以写两行。

int[] arr1;
arr1 = new int[5] { 1, 2, 3, 4, 5 };

说明
数组大小必须与大括号中的元素个数相匹配,否则会产生编辑错误。

不使用new运算符,直接初始化。

static void Main(string[] args)
{
    int[] arr1 = { 1, 2, 3, 4, 5 };  // 直接初始化。能自己推断出数组长度。
    foreach (int a in arr1) {
        Console.WriteLine(a);
    }
}

二维数组

类似一维数组。

// 声明一个二行二列的数组
int[,] arr=new int[2,2]; 
// 使用 new 运算符对其进行初始化
int[,]arr=new int[2,2]{ { 1, 2 }, { 3, 4 } };
// 不指定行数和列数,用new运算符直接初始化
int[,]arr=new int[,]{ { 1, 2 }, { 3, 4 } };
// 不使用 new 直接初始化
int[,] arr =  { { 1, 2 }, { 3, 4 } };

上面如果不指定维度,要用{}分组;上面的如果写成{ 1, 2 , 3, 4 };会报错。C# 二维(多维)数组内需要用{}进行分组,不然语法错误。

二维数组下标访问的形式是:

arr[i, j];  // 下标访问形式

不能在声明中指定大小,下面这种方式是错误的:

int[2, 3] arr = new int[2, 3] { { 1, 2, 5 }, { 3, 4, 6 } };
// ▲ int[2, 3] arr = …… 这样是错误的。
上一篇:java 数据结构之数组


下一篇:ruby|调用外部nodejs并处理返回结果