c# 高级编程 7章156页 【Array 类】

93 阅读1分钟

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;