for (int i = 0; i < matrix.Length; i++) {
matrix[i] = new int[3]; // Create inner array
for (int j = 0; j < matrix[i].Length; j++)
matrix[i][j] = i * 3 + j;
}
}
鋸齒數(shù)組可以初始化如下:
int[][] matrix = new int[][] {
new int[] {0,1,2},
new int[] {3,4,5},
new int[] {6,7,8,9}
};
數(shù)組初始化
有兩種方法可以縮短數(shù)組初始化表達(dá)式。
第一個(gè)是省略new運(yùn)算符和類型限定:
char[] vowels = {"a","e","i","o","u"};
int[,] rectangularMatrix = {
{0,1,2},
{3,4,5},
{6,7,8}
};
int[][] jaggedMatrix = {
new int[] {0,1,2},
new int[] {3,4,5,2,2,2,2},
new int[] {6,7,8}
};
第二種方法是使用var關(guān)鍵字,它告訴編譯器隱式地鍵入一個(gè)局部變量:
var i = 3; // i is implicitly of type int
var s = "asdf"; // s is implicitly of type string
var rectMatrix = new int[,]{
{0,1,2},
{3,4,5},
{6,7,8}
};
var jaggedMatrix = new int[][]{
new int[] {0,1,2},
new int[] {3,4,5},
new int[] {6,7,8}
};
我們可以省略new關(guān)鍵字后的類型限定符,并讓編譯器推斷數(shù)組類型:
var letters = new [] {'a','e','i','o','u'}; //編譯器推斷char []
更多建議: