C#数组(Array)精讲

一、数组的概念

数组是一个存储相同类型元素的固定大小的顺序集合。

数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组中某个指定的元素是通过索引来访问的。

所有的数组都是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。
在这里插入图片描述

二、声明数组

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关键字的用法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值