C#中数组从低级到高级的认识

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以上的版本支持,它可以很好的传递不同类型的变量。

转载于:https://my.oschina.net/robortly/blog/373819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值