代码改变世界

《C#本质论》读书笔记(四)

2010-07-20 16:09  张抗  阅读(1002)  评论(1)    收藏  举报

C#中的数组

数组的声明

      在C#中,使用方括号来声明数组变量.首先要指定数组中数据项的类型,后跟一对方括号,再输入变量名.

显然,数组声明的第一部分标识了数组中存储的元素的类型.作为声明的一部分,方括号指定了数组的秩(rank),或者说维数.

代码清单 数组的声明

-------------------------------------

string[] languages;

-------------------------------------

代码清单 声明一个二维数组

-------------------------------------

//          |            |

//-------+--------+-------

//          |            |

//-------+--------+-------

//          |            |

int[,] languages;

-------------------------------------

 

数组的实例化和赋值

      声明数组之后,可以立即为其填充值.方法是在一对大括号中,使用一个以逗号分隔的数据向项列表.

代码清单 声明数组的同时进行赋值

-------------------------------------

      方式一:

      string[] languages ={"c#","cobol","java","c++","Visual Basic","j#","Lisp"};

      方式二:

      //如果在声明之后在进行赋值,则需要使用new关键字和对应的数据类型

      string[] languages;

      languages ={"c#","cobol","java","c++","Visual Basic","j#","Lisp"};

-------------------------------------

 

数组长度

C#中数组方括号内的索引从0开始,但length长度获取的是数组大小.

为了将length作为一个索引来使用,有必要在它上面减去1,以避免越界错误.

代码清单 在数组索引中使用length-1

-------------------------------------

      string[] languages ={"c#","cobol","java","c++","Visual Basic","j#","Lisp"};

      for(int i=0;i<languages.length-1;i++)

  {

      //循环体

      }

-------------------------------------

 

数组方法

      数组中提供了更多的方法来操纵数组中的元素,其中包括Sort(),BinarySearch(),Reverse()和Clear()等

 

 

以下引用自MSDN:

数组具有以下属性:

  • 数组可以是一维多维交错的。

  • 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。

  • 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null

  • 数组的索引从零开始:具有 n 个元素的数组的索引是从 0n-1

  • 数组元素可以是任何类型,包括数组类型。

  • 数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerableIEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。

  • 作为对象的数组(C# 编程指南)

  • 对数组使用 foreach(C# 编程指南)

  • 将数组作为参数传递(C# 编程指南)

  • 使用 ref 和 out 传递数组(C# 编程指南)

  • “数组”示例