上一篇文章中,已经学习记录了 C# 语言中的循环语句,其中在介绍 foreach 循环的时候还涉及到了数组的使用。今天主要来详细学习记录一下关于 C# 中的数组知识。
1、数组的定义
在第三篇文章中,已经了解了变量是用来存储一个值的。那么,如果我们想要存储更多的值,应该用什么方法?
数组就是可以用来存储多个值的其中一个方法。但数组也有限制,例如数组里面的值必须是相同数据类型的,而且数组是固定大小的,因此不能任意更改数组大小。
2、数组赋值
在 C# 中,数组的创建方式有三种:
第一种,通过索引值赋值
int[] nums = new int[3];
nums[0] = 1;
- new - 数组是 C# 中的引用数据类型,所以会使用 new 关键词来创建数组实例。
- int[3] - 表示确定数组的大小为 3,也就是长度为 3,可以存储 3 个相同类型的值。
- nums[0] - 表示数组 nums 第一个位置的值。关于索引的问题,下面详解。
第二种,声明数组的同时直接赋值
int[] nums = {1, 2, 3};
- 这种方法虽然没有使用 new 关键字来创建数组实例,但在编译的时候,编译器会为之添加上。
- 大括号里面数值的个数,就将会是数组的大小。每个值按顺序,依次排列在数组中。
第三种,创建并初始化数组
int[] nums = new int[3]{1, 2, 3};
- int[3] - 方括号中的数值大小可有可无,如果指定了大小,那么后面大括号所跟的数值个数必须和大小一致;如果没有指定,那么大括号里的数值个数就将会是该数组的大小。
3、数组索引
数组中的元素,是通过带有索引的数组名来进行访问的。因此,就可以对数组中指定位置的元素进行修改等操作。
例如:将下面数组中的第二个位置元素改换为 7.
int[] nums = {1, 2, 3};
nums[1] = 7;
如此一来就已经完成了修改。使用 foreach 循环,来查看一下数组中的元素。
for(int elm in nums){
Console.WriteLine(elm);
}
从结果可以看到,数组第二个位置的值已经从 2 修改为 7.
这里还要说一下索引的问题:
在绝大多数的编程语言当中,索引一般都是从 0 开始的。因此 nums[0] 就表示数组中的第一个位置;nums[1] 就表示数组中的第二个位置...以此类推。
4、多维数组
上面说的这些都属于是一维数组,但在现实中,一维数组可能不足以满足我们的需求,可能需要更多维度的数组。
一维数组:[1, 2, 3, 4, 5]
二维数组:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
从上面来看,二维数组就是一维数组里面套着一维数组。也就是说二维数组是数组的数组。
int[][] nums = new int[2][2];
nums[0][0] = 1;
nums[0][1] = 2;
nums[1][0] = 3;
nums[1][1] = 4;
// nums = [[1, 2], [3, 4]]
二维数组的创建和赋值和一维数组其实是一样的。
以此类推,多维数组就是在不停地套娃,数组套着数组,无限套。
5、总结
C# 中关于数组的初步学习内容就记录到此结束了。下面整理一下上面的内容:
(1)变量是用来存储一个值的,而数组是用来存储多个相同类型的值。
(2)数组声明赋值的方法:
- 声明类型和大小,通过索引进行分别赋值。
- 声明类型,直接赋值。
- 创建实例并初始化,直接进行赋值。
(3)索引是从 0 开始的。数组可以通过带有索引的数组名来进行访问数组中的元素。
(4)多维数组的创建和赋值基本上和一维数组是一致的。多维数组就是数组的数组。