C# 编程语言学习系列(七)

2021-12-14 11:05:56 浏览数 (2777)

上一篇文章中,已经学习记录了 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);
}

image-20211214104627083

从结果可以看到,数组第二个位置的值已经从 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)多维数组的创建和赋值基本上和一维数组是一致的。多维数组就是数组的数组。