C#的Linq是一种强大的查询语言,可在许多情况下极大简化代码。其中一个用于筛选序列中的元素的方法是Last()。在这篇文章中,我们将详细探讨如何使用C#的Linq Last()方法,并提供至少两个代码示例,以帮助您更好地理解它的工作原理。
Last() 方法的介绍
Last() 是一个用于从给定的序列中筛选出最后一个元素的方法。如果找不到符合要求的元素,则 Last() 方法将抛出一个 InvalidOperationException 异常。
Last() 方法使用以下的语法:
public static TSource Last<TSource>(this IEnumerable<TSource> source);
public static TSource Last<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
其中,第一个函数原型返回给定序列中的最后一个元素,而第二个函数原型基于某个条件返回序列中的最后一个元素。
示例一:查找最后一个姓“张”的人
我们以一个简单的示例开始。假设我们有一个人的列表,我们想找出姓“张”的最后一个人。我们可以使用以下代码实现这个功能:
List<string> names = new List<string> { "张三", "李四", "张五", "王二" };
string lastNameStartingWithZhang = names.Last(name => name.StartsWith("张"));
Console.WriteLine(lastNameStartingWithZhang);
解释一下上述代码:
我们首先定义一个 String 类型的 List,其中包含一些 names,包括“张三”、“李四”、“张五”和“王二”。
接下来,我们使用Lambda 表达式作为参数将 Last() 函数传递给 names 列表。在此示例中,我们只需要查找姓“张”的人。因此,我们定义一个 lambda 表达式查询名字是否以“张”开头。
最后,我们打印出找到的姓“张”的人的名字。
示例二:查找最后一个符合条件的元素
我们可以使用 Last() 方法在给定序列中查找最后一个符合条件的元素。如下面的示例所示,我们使用 Last() 函数找到序列中最后一个偶数。
int[] numbers = new int[] { 1, 3, 5, 7, 9, 2, 4, 6, 8 };
int lastEvenNumber = numbers.Last(number => number % 2 == 0);
Console.WriteLine(lastEvenNumber);
解释一下上述代码:
我们首先定义一个 Int32 类型的数组,其中包含一些数字。
接下来,我们使用 Last() 函数和一个 lambda 表达式作为参数查找序列中的最后一个偶数。
最后,我们将找到的偶数打印出来。
结论
Last() 方法是 C# Linq 中用于查找序列中最后一个元素的方法。我们可以在不同的场景中使用它,例如查找最后一个符合特定条件的元素或者查找列表中最后一个具有某些特征的元素。我们上面提供了两个示例,您可以尝试修改它们并在实际项目中使用它们。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Linq的Last()方法 – 返回序列中的最后一个元素 - Python技术站