C#学习笔记 6 数组

TAG
C#
原创
编写日期
May 23, 2017
有时候,需要存储多个数据,或者,需要存储多个类型相同的值,而为了每个值都要派一个变量给它。这样就很不方便。
例如:假如说,要为通讯录里的每个名字执行一些相同的操作。可以使用string(字符串)变量来一个个的赋值。 string name1=“Alice”; string name2=“Bob”; string name3=“Cathy"; 这样不仅麻烦,而且一旦想改就要进入最底层来改。 幸好,我们有数组,可以把所有相同类型的 值存在一个变量里。
数组 Array 1 声明数组 用以下方式来声明数组:(数组必须在访问之前就初始化) <数据类型>[ ]<数组名字>; 数据类型可以是简单值类型,也可以是枚举和结构。
①以字面指定数组的内容,比如:
int[] a={1,2,3,4,5} 数组a含有5个元素,分别是1,2,3,4,5.
②指定数组的大小,再使用new关键字初始化数组,比如:
int [] b=new int [7]; 数组b含有7个元素,但是不清楚各个元素是多少。
③两种方法结合起来,比如:
int [] c=new int[4]{7,8,9,0}; 数组c含有4个元素,分别是7,8,9,0.
 
2 数组元素 在刚开始的例子中,为了存储3个名字用了三个字符串。其实我们可以用一个叫做name的字符串数组来放数据,并且索引它们,这样既简单又方便。
string[] name = new string[3] { "Alice", "Bob", "Cathy" };
说到索引,数组的元素索引是从0开始,而不是从1开始。 在C#里,基本上的元素索引都是从0开始的。
在数组name里,
第0位元素是Alice,第1位元素是Bob,第2位元素是Cathy,将它们分别输出来看看:
Console.WriteLine(name[0] +" "+ name[1] +" "+ name[2]); 输出:Alice Bob Cathy
 
3 遍历数组 如果想把数组中每个值按照顺序全部输出的话,有两种方法:
①使用for循环
for (int i = 0; i < name.Length; i++) { Console.WriteLine(name[i]); }
②使用foreach遍历 foreach(string i in name) { Console.WriteLine(i); }
以上两种方法输出的结果是一样的。都是 Alice
Bob
Cathy
 
4 多维数组(规则) 既然是数组,就不一定是只有一列。多维数组就是为此存在的。 上面举的通讯录里名字的例子,就是规则的一维数组。 来看看怎么声明一个二维数组,其实多维数组的声明和二维差不多。
①规则二维数组的声明 int[,] twoDimensionArray = new int[3, 4] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }}; 也就是:类型 [行,列] 数组名字=3行4列的二维数组。
②规则二维以上的数组声明 根据二维数组的声明规律,三维数组就应该是: int[,,] threeDimensionArray = new int[2, 2, 2]; 以此类推。
 
5 多维数组(不规则) 不规则的多维数组又称为交错数组或者锯齿数组。因为它长得像一个个的锯齿,并不是整齐的。
①不规则二维数组的声明
int[][] e = new int[2][] { new int [5] {1,2,3,4,5}, new int [2] {9,0} };
②不规则多维数组的声明 根据二维数组的声明规律,三维数组就应该是:
int[][][] f = new int[4][][]; 以此类推。 6 数组中常用的自带方法 (以下举例的数组名字用array代替)
array.Length 取该数组的长度 array.Average() 取所有元素的平均值 array.Max() 取所有元素的最大值 array.Min() 取所有元素的最小值 array.Sum() 取所有元素的和 array.Rank 取该数组的维度