数组、集合和 LINQ

C# 和 .NET 提供了许多不同的集合类型。 数组包含由语言定义的语法。 泛型集合类型列在

System.Collections.Generic 命名空间中。 专用集合包括 System.Span<T>(用于访问堆栈帧上的连续内存),以及

System.Memory<T>(用于访问托管堆上的连续内存)。 所有集合(包括数组、Span<T> 和 Memory<T>)都遵循

一种统一的迭代原则。 使用 System.Collections.Generic.IEnumerable<T> 接口。 这种统一的原则意味着任何集

合类型都可以与 LINQ 查询或其他算法一起使用。 你可以使用 IEnumerable<T> 编写方法,这些算法适用于任何

集合。

数组是一种数据结构*_,其中包含许多通过计算索引访问的变量。 数组中的变量(亦称为数组的“元素”)均为同一

种类型。 我们将这种类型称为数组的“元素类型”。

数组类型是引用类型,声明数组变量只是为引用数组实例预留空间。 实际的数组实例是在运行时使用 new 运算

符动态创建而成。 new 运算指定了新数组实例的长度,然后在此实例的生存期内固定使用这个长度。 数组元素

的索引介于 0 到 Length - 1 之间。 new 运算符自动将数组元素初始化为其默认值(例如,所有数值类型的默

认值为 0,所有引用类型的默认值为 null )。

以下示例创建 int 元素数组,初始化此数组,然后打印此数组的内容。

此示例创建并在“一维数组”上进行操作。 C# 还支持多维数组。 数组类型的维数(亦称为数组类型的秩)是 1 与数

组类型方括号内的逗号数量相加的结果。 以下示例分别分配一维、二维、三维数组。

a1 数组包含 10 个元素, a2 数组包含 50 个元素 (10 × 5), a3 数组包含 100 个元素 (10 × 5 × 2)。 数组的元

素类型可以是任意类型(包括数组类型)。 包含数组类型元素的数组有时称为“交错数组”,因为元素数组的长度不

必全都一样。 以下示例分配由 int 数组构成的数组:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值