代码改变世界

<<Accelerated C# 2008>>笔记3容器&&数组&&迭代器

2010-08-09 22:16  撞破南墙  阅读(386)  评论(0编辑  收藏  举报

数组:

三种声明方式

 

匿名推断=c#的隐式   

 

数组是协变的,

         协变不好说,还是点击链接去看一下吧。

 

一唯数组比多维数组更高效,因为在编译后一维数组使用IL的内置对象vector(向量)

 而多维数组使用一个数组对象。

 

5 c#中可以创建下表不是从0开始的语句。一般用不到。

 

锯齿数组:又称交错数组 

int[][] jaggedArray = new int[2][]; 
jaggedArray[0] = new int[4]; 
jaggedArray[1] = new int[3];

 

从外观来看相对矩阵数组而已

   string[,,] c = new string[,,]{};

 

取得数组长度的几种方式 

  

c.GetLength(0);//获取下标为0开始的数组的第一唯的长度(不知道是不是叫做第一唯)
c.GetLength(1);//第二维
c.GetUpperBound(0);//同样用于可以用于下标不为0的数组

 

 

8

传说在那遥远的.NET1.0的年代,NET世界还没有泛型要做一个容器得实现 Ixxx容器。

当容器里呈放值类型的时候,是很不划算的,因为会发生装箱和拆箱。而且类型也不够安全。

所以我们我们应该尽量使用IXXX<T>的类型。

 

哎。。。写下自己的笔记的时候,才发现好多东西都不太理解然后又翻过去看。。写完又发现,写的好肤浅。

完全没有探讨和研究的东西,真的是纯粹的笔记。。。悲剧。。。就当是笔记吧。读接下去内容的时候再好好

看,好好的思考。