📅  最后修改于: 2023-12-03 14:39:47.732000             🧑  作者: Mango
在 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 或更高版本中的新索引语法。根据你的具体情况选择最合适的方法来获取列表中的最后一个元素。