Array类
- Array类,是一个抽象类
- 用方括号
[]
来声明的数组,在后台,会创建一个派生自Array的类 - 进一步可知,Array为引用类型,
[]
声明的数组也为引用类型 - Array类定义了一些方法和属性,例如Length属性,GetEnumerator()方法
Array类的属性或方法 | 注释 |
---|---|
Length | |
LongLength | 可能不常用。元素个数太多而超过整数取值范围时,就可以用LongLength来获得元素个数 |
Rank | 数组的维数 |
GetEnumerator() | 用foreach遍历数组时,其实就是用GetEnumerator() |
创建数组CreateInstance()
- Array为抽象类,无法直接用构造函数来创建数组实例。
- 创建数组实例有两个途径:
- 用方括号
[]
- 用Array类的静态方法
CreateInstance()
, (事先不知道元素类型时,此法很有用,因为类型Type可以作为参数传递给此方法)
- 用方括号
Array intArray1 = Array.CreateInstance(typeof(int), 5);
- CreateInstance有多个重载版本,甚至可以创建多维数组和下标不从0开始的数组。
给数组元素赋值 SetValue()
for (int i = 0; i < 5; i++)
{
intArray1.SetValue(33, i);
}
获取数组元素的值 GetValue()
for (int i = 0; i < 5; i++)
{
//intArray1.GetValue(i);
}
强制类型转换
有点基类Array转换成子类int[] 的意思
Array intArray1 = Array.CreateInstance(typeof(int), 5);
int[] intArray2 = (int[])intArray1;