数组
1 2 3 4 5 6 7 8
| <baseType> [] <name>; <baseType> [] <name> = new <baseType> [ArraySize] {..,..,...};
int[] arr2 = new int[4]; MyClass[] mcArr = new MyClass[4]; int[,,] arr3 = new int[3,6,2]; int[] intArr = new int[] {10, 20, 30, 40}; int[,] intArray2 = new int[,] {{10, 1}, {2, 10}, {11, 9}};
|

![[csharp-7-array.png]]
foreach语句
1 2 3 4
| foreach (<baseType> <name> in <array>) { }
|
1 2 3 4 5 6
| int [] arr1 = {10, 11, 12, 13};
foreach(int item in arr1) { Console.WriteLine($"Item Value: { item }"); }
|
数组继承的有用成员
| 成员 |
类型 |
生存期 |
意义 |
| Rank |
属性 |
实例 |
获取数组的维度数 |
| Length |
属性 |
实例 |
获取数组中所有维度的元素总数 |
| GetLength |
方法 |
实例 |
返回数组的指定维度的长度 |
| Clear |
方法 |
静态 |
将某一范围内的元素设置为 0 或 null |
| Sort |
方法 |
静态 |
在一维数组中对元素进行排序 |
| BinarySearch |
方法 |
静态 |
使用二进制搜索,搜索一维数组中的值 |
| Clone |
方法 |
实例 |
进行数组的浅复制 —— 对于值类型数组和引用类型数组,都只复制元素 |
| IndexOf |
方法 |
静态 |
返回一维数组中遇到的第一个值 |
| Reverse |
方法 |
静态 |
反转一维数组中某一范围内的元素 |
| GetUpperBound |
方法 |
实例 |
获取指定维度的上限 |
Clone方法
数组的Clone方法是浅拷贝,它只创建数组本身的克隆,如果是引用类型数组,它不会复制元素引用的对象。
枚举
1 2 3 4 5 6 7
| enum <typeName> : <underlyingType> { <value1> = <actualVal1>, <value2> = <actualVal2>, ... <valueN> = <actualValN> }
|
- 未赋值的任何值会自动获得一个初始值,这个初始值是比上一明确声明的值大1,默认从0开始。
- 可以使用一个值作为另一个的基础值:
<value2> = <value1>
结构
1 2 3 4 5 6
| struct <typeName> { <accessibility1> <type1> <name1>; <accessibility2> <type2> <name2>; ... }
|
- 结构类型也放在名称空间内,与Main函数并列
- 通过使用
.来对结构内的属性进行i引用