3.7C#引用类型之数组(Array)

数组(Array)是一种数据结构,可以用一个统一的数组名和不同的下标(index,或称索引)来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、多维数组和交错数组。

  • 数组中的元素是有序的,通过索引访问。
  • 数组中的元素必须属于同一个类型,而且可以随时替换元素。
  • 数组的长度(元素的个数)不可以动态改变,不可以向数组添加、删除元素。

数组声明

//声明但未初始化
int[] a;
//使用new运算符声明并初始化了一个可以存储10个元素且元素类型为int的数组。
int[] a = new int[10];
//使用new运算符和对象初始值设定项(Object Initializer)声明并初始化了一个int数组,长度由初始值长度推断决定。
int[] a = new int[] { 1, 2, 3 };
//声明并初始化了一个数组,数组的长度由括号之间提供的值的数量推断确定,并用逗号分隔,无需加new关键字。
int[] a = { 2, 3, 5, 7, 11, 13 }; 

访问数组元素

//通过索引访问
a[i]

获取数组长度

a.Length

一维数组

int[] smallPrimes = { 2, 3, 5, 7, 11, 13 };

多维数组

数组的元素类型可以是数组类型。

数组类型的维度数量 是由加在数组类型方括号之间的逗号的数量所决定。

//下面的示例分配一个一维、二维和三维数组。
int[] a1 = new int[10];
int[,] a2 = new int[10, 5];
int[,,] a3 = new int[10, 5, 2];

交错数组

与多维数组的相同点是数组元素都可以是数组类型,不同点是多维数组的元素数组的长度都是一样的,而交错数组的元素数组的长度不必全都一样。

int[][] a = new int[3][];
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[20];

第一行创建包含三个元素的数组,每个元素都是 int[] 类型,并且初始值均为 null。 接下来的代码行将这三个元素初始化为引用长度不同的各个数组实例。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/7874.html

(0)
上一篇 2021年3月6日 01:45
下一篇 2021年3月8日 05:37

相关推荐

  • 3.12C#类型之记录结构(record struct)和记录类(record class)

    记录声明 声明记录类型的语法与声明结构或类的语法类似。只需将record struct代替struct,或使用record代替class。 记录的参数是记录的public属性。 记录结构(record struct)是值类型,记录类(record class)是引用类型。 继承 记录结构不支持继承,因为结构不支持继承。…

    C#语言教程 2021年3月12日
    0180
  • 3.5C#引用类型之接口(Interface)

    接口声明 接口包含一组非抽象class或struct必须实现的相关功能的定义。 继承 接口 可以继承自多个基接口。 实现 类 或 结构 可以实现多个接口,实现接口的类或结构必须实现其所有未提供默认实现的成员并匹配接口中的成员签名。 接口可以为其部分或全部成员定义默认实现。实现接口的类或结构不必实现具有默认实现…

    C#语言教程 2021年3月5日
    01330
  • 1.3C#语言的运算符(Operator)

    1.一元运算符 运算符 描述 +x 一元 + 运算符返回其操作数的值。 -x 一元 – 运算符对其操作数的数值取负。 ++x ++x 的结果是此操作后的 x 的值。 –x –x 的结果是此操作后的 x 的值。 x++…

    C#语言教程 2021年1月3日
    01720

发表评论

登录后才能评论