📌  相关文章
📜  c# 获取列表中的最后一项 - C# (1)

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

C# 获取列表中的最后一项

在 C# 中,我们经常需要获取列表中的最后一个元素。C# 提供了多种方法来实现这个目标。下面将介绍一些常用的方法,你可以根据自己的需求选择适合的方法。

方法一:使用索引

我们可以使用列表的索引来获取最后一项。C# 中的列表索引是从 0 开始的,所以最后一项的索引是列表长度减去 1(即 Count-1)。

List<int> numbers = new List<int>(){1, 2, 3, 4, 5};
int lastItem = numbers[numbers.Count - 1];

上述代码中,我们创建了一个包含整数的列表 numbers,然后使用索引 numbers.Count - 1 获取列表的最后一个元素,并将它赋值给变量 lastItem

请注意,如果列表为空,使用该方法将会导致 System.ArgumentOutOfRangeException 异常。因此,在使用索引获取最后一个元素之前,我们需要确保列表不为空。

方法二:使用Last() 方法

C# 的 LINQ 库提供了一个 Last() 方法,可以用于获取列表的最后一个元素。该方法会直接返回列表的最后一个元素,或者在列表为空时抛出 System.InvalidOperationException 异常。

List<int> numbers = new List<int>(){1, 2, 3, 4, 5};
int lastItem = numbers.Last();

上述代码中,我们使用 Last() 方法获取了列表 numbers 的最后一个元素,并将它赋值给变量 lastItem

方法二的优点是代码更简洁,并且可以处理空列表的情况。但是需要注意的是,这个方法需要引入 LINQ 库,并且在处理大型列表时可能性能较差。

方法三:使用FirstOrDefault() 方法

如果你无法确定列表是否为空,或者你希望在列表为空时返回默认值,可以使用 FirstOrDefault() 方法来获取最后一个元素。

List<int> numbers = new List<int>(){1, 2, 3, 4, 5};
int lastItem = numbers.LastOrDefault();

上述代码中,我们使用 FirstOrDefault() 方法获取列表 numbers 的最后一个元素。如果列表为空,该方法将返回 default(T),其中 T 是列表的元素类型的默认值(例如,对于 int 类型,默认值为 0)。

方法三的优点是可以处理空列表的情况,并且可以返回默认值。但是需要注意的是,如果列表为空且默认值也是合法的列表元素,则无法区分实际的最后一个元素是列表中的元素还是默认值。

方法四:使用[^1] 索引

如果你使用的是 C# 8 或更高版本,你可以使用 [^1] 索引来获取列表的最后一个元素。

List<int> numbers = new List<int>(){1, 2, 3, 4, 5};
int lastItem = numbers[^1];

上述代码中,我们使用 [^1] 索引获取了列表 numbers 的最后一个元素,并将它赋值给变量 lastItem

这种新的索引语法更加直观和简洁,而且可以在不考虑列表是否为空的情况下使用。

总结

本文介绍了四种获取 C# 列表中最后一个元素的方法。你可以根据自己的需求选择合适的方法。方法一适用于不使用 LINQ 库且可以确保列表不为空的情况,方法二适用于使用 LINQ 库且需要处理空列表的情况,方法三适用于使用 LINQ 库且需要处理空列表的情况,并且可以返回默认值,方法四适用于 C# 8 或更高版本中的新索引语法。根据你的具体情况选择最合适的方法来获取列表中的最后一个元素。