"C#课件第5章,清华大学出版社出版的《C#程序设计》教材的第五章,主要讲解了数组的相关知识,包括声明与初始化、访问与遍历、Array类及其属性方法、索引器的使用等。"
在C#编程语言中,数组是一种非常基础且重要的数据结构,它允许存储相同类型的数据集合。本章详细阐述了数组的各种概念和操作。
首先,数组的声明与初始化是学习的重点之一。一维数组通常以以下形式声明和初始化:
```csharp
int[] iSeason = {1, 2, 3, 4};
```
对于高维数组,声明方式则更为复杂,例如:
```csharp
int[, ,] multiDimensionalArray = new int[第一维大小, 第二维大小, 第三维大小];
```
在声明数组时,系统会自动为数组元素赋予默认值。默认值规则如下:
- 数值类型和字符类型:0
- 布尔类型:False
- 枚举类型:0
- 引用类型:null
接下来,数组的访问是通过索引来完成的。数组的遍历有两种常见方法:
1. 使用`for`循环,如:
```csharp
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
```
2. 使用`foreach`循环,可以简化代码,特别适合处理集合或数组:
```csharp
foreach (var item in array)
{
Console.WriteLine(item);
}
```
Array类是所有数组的基类,提供了许多实用的静态方法和属性,如:
- `Length`:返回32位整数表示的元素个数
- `LongLength`:返回64位整数表示的元素个数
- `Rank`:获取数组的维数
- `IsFixedSize`:始终返回True,表明数组的大小是固定的
- `IsReadOnly`:始终返回False,除非数组被标记为只读
- `Clear()`:将数组元素设置为默认值
- `Clone()`:创建数组的浅拷贝
- `Copy()`:复制一维数组到另一个一维数组
- `GetValue()` 和 `SetValue()`:分别用于获取和设置数组元素的值
- `IndexOf()`:查找指定值在数组中的首次出现的索引
- `Sort()`:对数组元素进行排序
此外,C#中的索引器提供了一种灵活的访问数组或集合的方式。它类似于属性,但使用`this`关键字,并有`get`和`set`访问器,使得用户可以通过类似数组的方式来访问类内部的数据。例如:
```csharp
public class MyCollection
{
private int[] items;
public int this[int index]
{
get => items[index];
set => items[index] = value;
}
}
```
这样的设计让类的外部可以像操作数组一样方便地读取和修改内部的元素。
总结来说,本章深入探讨了C#中的数组概念,包括如何声明和初始化,如何访问和遍历,以及Array类提供的强大功能,以及索引器的使用,这些都是理解和编写高效C#代码的基础。通过学习这一章,读者应能熟练掌握数组的操作,并能利用Array类和索引器提高代码的可读性和实用性。