- C# 从入门到项目实践(超值版)
- 聚慕课教育研发中心
- 1159字
- 2021-03-24 02:36:19
6.2 一维数组的声明和使用
一维数组是使用同一个数组名存储一组数据类型相同的数据,用索引或下标区别数组中的不同元素。本节介绍一维数组的声明以及使用方法。
6.2.1 一维数组的声明
C#声明数组时,方括号[]必须跟在类型后面,而不是标识符后面。
1. 声明一维数组
C#数组的大小不是其类型的一部分,而在C语言中却是数组类型的一部分。语法格式如下:
datatype[] arrayName;
其中,datatype用于指定被存储在数组中的元素的类型;“[]”指定数组的秩(维度),秩指定数组的大小;arrayName指定数组的名称。
2. 初始化一维数组
声明一个数组时不会在内存中初始化数组。当初始化数组变量时,用户可以给数组变量赋值。数组是一个引用类型,所以C#数组的初始化方式有以下两种。
(1)在声明数组时为数组的元素赋初值。
例如:
int[] myArray = { 5, 9, 15, 22, 30 }; string[] myStrArr = { "diagram", "league", "brambling" };
(2)在声明数组时指定数组的大小(即数组的长度或数组元素的个数),这种方式需要使用new关键字来创建数组的实例。
例如:
当然不一定非是数值,也可以是带有常量(const)关键字的变量。
例如:
3. 为一维数组赋值
(1)可以通过使用索引号赋值给一个单独的数组元素。
例如:
(2)可以在声明数组的同时给数组赋值。
例如:
double[] b = { 3.14, 6.28, 9.42 }; //声明一个double类型的数组b,并存入三个元素
(3)可以创建并初始化一个数组。
例如:
int[] a = new int[5] { 29, 28, 22, 27, 25 };
在上述情况下,也可以省略数组的大小,例如:
int [] a = new int[] { 29, 28, 22, 27, 25 };
用户也可以赋值一个数组变量到另一个目标数组变量中。在这种情况下,目标和源会指向相同的内存位置:
当用户创建一个数组时,C#编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int数组的所有元素都会被初始化为0。
6.2.2 一维数组的使用
元素是通过带索引的数组名称来访问的,就是将元素的索引放置在数组名称后的方括号中来实现的。
(1)通过for循环来访问一维数组元素。
【例6-1】编写程序,声明一个数组,并对其进行赋值和访问操作。
① 在Visual Studio 2017中,新建名称为“Project1”的文件。
② 在代码编辑区域输入以下代码。
【程序分析】本例演示一维数组的赋值与访问。在代码中,首先,声明一个int类型的数组a,并使用new关键字为其分配5个内存空间;接着再定义两个整型变量i和j,用于表示循环变量;然后,使用for循环为数组a初始化赋值;最后,再使用for循环和数组元素对应的下标来访问数组中的元素。
在Visual Studio 2017中的运行结果如图6-2所示。
图6-2 for循环访问一维数组
(2)通过foreach来访问一维数组。
注意:foreach循环对数组的内容进行只读访问,所以不能改变任何元素的值。
【例6-2】编写程序,声明一个数组,并对其进行访问。
① 在Visual Studio 2017中,新建名称为“Project2”的文件。
② 在代码编辑区域输入以下代码。
【程序分析】本例演示一维数组的访问。在代码中,首先声明整型的一维数组myArry,并为其初始化赋值;然后使用foreach语句,输出该数组中的元素。
在Visual Studio 2017中的运行结果如图6-3所示。
图6-3 foreach循环访问一维数组