1.简单数组
int[] arr=new int[3]{3,1,2};
使用初始化器:
Person[] myPer =
{
new Person{FirstName="Ayrton",LastName="Senna"},
new Person{FirstName="MiChael",LastName="schmacher"}
};
2.多维数组
//.net 版本不一样导致黄色感叹号!
int[,] erwei = new int[3, 3];
erwei[0, 0] = 1;erwei[1, 0] = 4;erwei[2, 0] = 7;
erwei[0, 1] = 2;erwei[1, 1] = 5;erwei[2, 1] = 8;
erwei[0, 2] = 3;erwei[1, 2] = 6;erwei[2, 2] = 9;
或者:
int[,] erwei ={
{1,2,3},
{4,5,6},
{7,8,9}
};
----------------------三维数组---------------------
int[, ,] sanwei = {
{ { 1, 2 }, { 3, 4 } },
{ { 5, 6 }, { 7, 8 } },
{ { 9, 0 }, { 1, 2 } }
};
3.锯齿数组
int[][] jagged = new int[3][];
jagged[0] = new int[2] { 1, 2 };
jagged[1] = new int[6] { 3, 4, 5, 6, 7, 8 };
jagged[2] = new int[3] { 9, 10, 11 };
4.Array类
5.作为参数的数组
6.枚举
Client----IEnumerator--->Enumerator----IEnumerable-->Collection
7.元组
元组实现不同类型的作为一个组,数组实现相同类作为一个组。 Tuple 需要4.0的支持
8.结构比较
通过对比IEqualityComparer IStructuralEquatable的实现来说明结构相比较性
9.小结
从一维到多维,再从多维到锯齿型(长短不一),在看多维数组的时候养成这么一个眼光看:3维里面是由很多个二维组成,2维是由很多个一维组成的。
这样就可以很好的理解多维数组的数字下标的含义。
Array数组提供了很多便利的集合函数功能,可以很好的做统计,排序之类的操作,其中函数clone() 保证了原来的数据不变。
ArraySegment<int>[] object[] params[]实现多参的传递,其中主义数组的协变问题。
Tuple元组需要4.0以上的版本支持,它可以很好的传递不同类型的变量。