一、数组的概念
数组是一个存储相同类型元素的固定大小的顺序集合。
数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组中某个指定的元素是通过索引来访问的。
所有的数组都是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。
二、声明数组
1、方式一:在数组声明的时候赋值
// 在数组声明的时候赋值
int[] num= {1,2,3,4,5};
注意:声明的时候,直接初始化,知道类型、长度和值
2、方式二:定义数组的长度,没有赋值,元素默认值为0
// 数组长度为5,数组元素默认值是0
int[] num= new int[5];
// 也可以这样写
// 数组的初始化
int[] num;
num= new int[5];
注意:声明的时候,就确定了数组的类型和长度
3、方式三:定义数组的长度,有赋值
// []里的值可以不指定
int[] num=new int[5]{ 1, 2, 3, 4, 5 };
注意:知道长度、类型和值
4、方式四:当访问一个索引不存在的值的时候,出现空指针异常
int[] num= new int[]{1,2,3,4,5};
// 空指针异常报错
Console.WriteLine(num[8]);
注意:知道长度、类型和值
补充:
- 前两种方式,比较常见,推荐使用,后两种方式知道即可。
- 声明一个数组的时候,初始化用 {},里面的元素,用逗号隔开。
三、数组的定义
数组,顾名思义就是存储一组数据的集合,是一组数据的组合。在数组里面,可存储同一类型的一组数据。当你定义了数组长度,进行实例化时,就在内存里面开辟了相应的空间,每一个空间我们称之为元素。我们可以通过下标(索引) 存储、读取数据。
注意:数组的下标(索引)从0开始,数组长度一旦确定,就不能改变了。
四、给数组赋值
// 声明一个num数组
int[] num = new int[5];
// 给数组赋值
for (var i = 0; i < num.Length; i++)
{
num[i] = i;
}
// 打印下数组
foreach (var i in num)
{
Console.WriteLine(i);
}
Console.ReadLine();
相信上面这个代码,大家都能看懂。在这里for循环想必你已经很熟悉了,下来我着重说一下foreach循环。
五、foreach循环
1、语法
从数据集合里面取第一个元素赋值给变量名,然后去执行循环体;执行完循环体以后,再取第二个,并且赋值给变量名,再去执行循环体;直到取出最后一个,执行循环体。
2、结构
foreach (var 变量名 in 数据集合名)
{
// 循环体
}
在这里,我们可以看到var
这个关键字,那么var
到底是什么呢?首先你要知道,var
代表的是“推断内容”,想必有部分朋友,可能会不太清楚。没有关系,下来我们通过一个案例,来理解一下。
3、案例
以上这个代码,想必你已经很熟悉了。我们声明了两个int
类型的变量,num1只是声明,num2在声明的同时进行了初始化。那么下来,我们将int
关键字,换成var
,试试效果。
显然,num1抛出了错误,而num2没有,这是为什么呢?那是因为,我们在用var
声明变量的时候,必须进行赋值。正如其名一样:“推断类型”,只有我们为其赋值,它才会根据变量的值,推测到我们的变量类型。
那么我们为什么要用var
呢?详情请查看本人另一篇博文:深入理解C#中var关键字的用法