您的位置:首页 > 编程语言 > C#

C#学习笔记 6 数组

2017-05-23 09:17 239 查看
现在开始系统的学习C#并好好做笔记  如有不足和错误请各位大大及时指出哦~(ノ・ω・)ノ゙

有时候,需要存储多个数据,或者,需要存储多个类型相同的值,而为了每个值都要派一个变量给它。这样就很不方便。
例如:假如说,要为通讯录里的每个名字执行一些相同的操作。可以使用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   取该数组的维度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 学习笔记