C# Linq的Last()方法 – 返回序列中的最后一个元素

  • Post category:C#

当我们需要从一个集合中获取最后一个元素时,可以使用C#中Linq的Last()方法。下面是关于Last()的详细讲解:

Last()的定义

按照官方文档的定义,Last()方法返回集合中满足指定条件的最后一个元素。如果没有满足条件的元素,则引发异常。此方法不会修改原始集合,而是返回一个新的元素。

Last()方法的语法如下:

public static TSource Last<TSource>(this IEnumerable<TSource> source);
public static TSource Last<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

其中第一个参数source是要从中返回元素的集合,第二个参数predicate是一个可选的筛选条件。

Last()的用法

实际使用中,我们可以根据需要选用不同的参数来使用Last()方法。

示例1

下面是一个简单的示例,展示如何使用不带参数的Last()方法来获取集合中的最后一个元素:

int[] numbers = { 1, 2, 3, 4, 5 };
int lastNumber = numbers.Last();
Console.WriteLine(lastNumber);
// 输出 5

上面的代码中,我们首先定义了一个整数数组numbers,然后使用Last()方法获取了数组中的最后一个元素。最后,我们使用Console.WriteLine()方法将结果输出到控制台。

示例2

Last()方法还允许我们使用带有条件的委托来筛选集合中的元素,下面是一个示例:

string[] words = { "apple", "banana", "cherry", "date", "elderberry" };
string wordStartingWithB = words.Last(w => w.StartsWith("b"));
Console.WriteLine(wordStartingWithB);
// 输出 "banana"

上面的代码中,我们定义了一个字符串数组words,然后使用带有条件的Last()方法来获取以字母“b”开头的最后一个单词。这里需要注意的是,如果集合中没有符合条件的元素,则会引发异常。

总结

在使用Last()方法时,我们需要注意以下几点:

  • 如果集合中没有符合条件的元素,则会引发异常;
  • 为了避免异常,可以使用LastOrDefault()方法;
  • Last()方法不会修改原始集合,而是返回一个新的元素。