📜  c# list index - C# (1)

📅  最后修改于: 2023-12-03 14:39:43.451000             🧑  作者: Mango

C# List Index

在 C# 编程中,使用 List 类来存储一组数据是非常常见的。在 List 中获取指定元素的位置是必要的操作之一,这就要用到索引。

索引基础

在 List 中,每个元素都有一个索引值,用于唯一标识它在 List 中所处的位置。索引值从 0 开始递增。

以下是一个简单的示例,展示了如何创建 List 实例并获取其中的元素:

List<string> fruits = new List<string>() { "apple", "banana", "cherry" };
string firstFruit = fruits[0];   // "apple"
string secondFruit = fruits[1];  // "banana"

其中,fruits[0] 表示获取 fruits 列表中第一个元素,即 "apple"。

如果没有找到所需索引的元素,则会引发异常。因此,使用索引时应该始终确保它的值处于正确的范围内(从 0 到 Count-1)。

负数索引

在 C# 中,使用负数索引获取列表元素是可以的,它表示从列表末尾开始计数的位置。例如,使用 -1 索引获取列表中的最后一个元素:

string lastFruit = fruits[^1];  // "cherry"

^1 表示从倒数第一个元素开始取值,即列表中的最后一个元素。

索引器

List 类提供了 GetRange 和 AddRange 等方法,用于操作列表中一段连续的元素。但是,如果需要获取列表中不连续的几个索引位置的元素,这种方式就不实用了。

在 C# 8.0 中,添加了索引器功能,可以方便地获取单个索引位置的元素,也可以获取一段索引位置的元素。

以下是一个使用索引器获取列表中不连续元素的示例:

List<string> fruits = new List<string>() { "apple", "banana", "cherry", "date", "elderberry" };
var selectedFruits = fruits[0, 2, 4];

这里的 selectedFruits 变量包含三个元素,分别是 fruits 列表中索引为 0、2 和 4 的元素("apple"、"cherry" 和 "elderberry")。

需要注意的是,使用这种方式可能会引发 IndexOutOfRangeException 异常,因此需要确保所需索引的值在列表范围内。

总结

C# 中的 List 类提供了一种便捷的方法来存储和操作一组数据。使用索引是获取列表中指定元素的一种有效方式,可以使用负数索引和索引器来扩展索引的功能。如果不确定获取数据的索引位置是否正确,应当始终进行索引范围检查。