C# 数组从零开始建立索引,即数组索引从零开始。C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。[color=red]声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。[/color]在 C# 中,将方括号放在标识符后是不合法的语法。
int[] table; // not int table[];
int[] numbers; // declare numbers as an int array of any size
numbers = new int[10]; // numbers is a 10-element array
numbers = new int[20]; // now it's a 20-element array
//一维数组
int[] numbers = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", "Robert"};
/********* 可省略数组的大小,如下所示: *********/
int[] numbers = new int[] {1, 2, 3, 4, 5};
string[] names = new string[] {"Matt", "Joanne", "Robert"};
/** 如果提供了初始值设定项,则还可以省略 new 运算符,如下所示: **/
int[] numbers = {1, 2, 3, 4, 5};
string[] names = {"Matt", "Joanne", "Robert"};
//多维数组
int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };
/*** 可省略数组的大小,如下所示: ***/
int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
/** 如果提供了初始值设定项,则还可以省略 new 运算符,如下所示: **/
int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };
//交错的数组(数组的数组)
//可以像下例所示那样初始化交错的数组:
int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
//可省略第一个数组的大小,如下所示:
int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
//-或-
int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
//请注意,对于交错数组的元素没有初始化语法。
//声明一维数组,没有初始化,等于null
int[] intArray1;
//初始化已声明的一维数组
intArray1 = new int[3];
intArray1 = new int[3]{1,2,3};
intArray1 = new int[]{1,2,3};
//声明一维数组,同时初始化
int[] intArray2 = new int[3]{1,2,3};
int[] intArray3 = new int[]{4,3,2,1};
int[] intArray4 = {1,2,3,4};
string[] strArray1 = new string[]{"One","Two","Three"};
string[] strArray2 = {"This","is","an","string","Array"};
//声明二维数组,没有初始化
short[,] sArray1;
//初始化已声明的二维数组
sArray1 = new short[2,2];
sArray1 = new short[2,2]{{1,1},{2,2}};
sArray1 = new short[,]{{1,2,3},{4,5,6}};
//声明二维数组,同时初始化
short[,] sArray2 = new short [1,1]{{100}};
short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}};
short[,] sArray4 = {{1,1,1},{2,2,2}};
//声明三维数组,同时初始化
byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}};
//声明交错数组,没有初始化
int[][] JagIntArray1;
//初始化已声明的交错数组
JagIntArray1 = new int [2][] {
new int[]{1,2},
new int[]{3,4,5,6}
};
JagIntArray1 = new int [][]{
new int[]{1,2},
new int []{3,4,5},
intArray2 //使用int[]数组变量
};
//声明交错数组,同时初始化
int[][] JagIntArray2 = {
new int[]{1,1,1},
new int []{2,2},
intArray1
};