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

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技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 详解C#中三个关键字params,Ref,out

    介绍params、ref、out这三个关键字的用法及不同之处是C#入门必备的知识。下面我们分别介绍一下这三个关键字的用法以及示例说明。 params params关键字用于表示方法传入参数的个数可能是可变的,具体用法是将类型后加上“params”关键字,如下: public void Add(params int[] numbers) { int sum =…

    C# 2023年5月31日
    00
  • springMVC+velocity实现仿Datatables局部刷新分页方法

    我们将使用SpringMVC和Velocity作为模板引擎来实现仿Datatables局部刷新分页的功能。以下是详细的步骤: 第一步:配置SpringMVC 为了使用SpringMVC,我们需要添加如下依赖: <dependency> <groupId>org.springframework</groupId> <a…

    C# 2023年5月31日
    00
  • 解析如何利用一个ASP.NET Core应用来发布静态文件

    解析如何利用一个ASP.NET Core应用来发布静态文件 在本攻略中,我们将深入讲解如何利用一个ASP.NET Core应用来发布静态文件,并提供两个示例说明。 准备工作 在开始发布静态文件之前,您需要完成以下准备工作: 在ASP.NET Core应用程序中安装Microsoft.AspNetCore.StaticFiles包。 dotnet add pa…

    C# 2023年5月17日
    00
  • P/Invoke之C#调用动态链接库DLL示例详解

    下面就来详细讲解一下“P/Invoke之C#调用动态链接库DLL示例详解”的完整攻略。 概述 在 .NET Framework 中,和本机环境有关的操作都高度集成化了,大多数情况下是使用 .NET Framework 所提供的接口进行操作。但有些情况下需要直接使用本机的 API 接口才能完成特定的功能。在这种情况下我们可以使用 P/Invoke(Platfo…

    C# 2023年5月15日
    00
  • C#圆形头像框制作并从数据库读取

    下面我将为你详细讲解如何制作C#圆形头像框并从数据库读取。整个制作过程可以分为以下几个步骤: 1.创建一个Winform窗体应用程序,引入System.Drawing命名空间。 2.设计窗体布局,添加PictureBox控件用于显示头像图片。 3.在pictureBox控件中加载默认图片,并设置SizeMode为Zoom。 4.使用GraphicsPath和…

    C# 2023年5月31日
    00
  • 详解ASP.NET Core中间件Middleware

    详解ASP.NET Core中间件Middleware攻略 ASP.NET Core中间件Middleware是一种用于处理HTTP请求和响应的组件。在本攻略中,我们将深入探讨ASP.NET Core中间件Middleware的工作原理,并提供两个示例说明。 中间件Middleware的工作原理 在ASP.NET Core中,中间件Middleware是一种…

    C# 2023年5月17日
    00
  • C#版ftp方法实现类的代码

    C#版ftp方法实现类的代码可以通过使用C#的FTP类库完成。FTP,即File Transfer Protocol(文件传输协议),是一种网络协议,用于在服务器和客户端之间传输文件。C#通过FTP类库实现FTP操作非常方便。这里我们将详细讲解如何实现C#版的FTP方法实现类。 基本原理 FTP客户端通过FTP协议连接FTP服务器,进行文件上传、下载、删除、…

    C# 2023年6月6日
    00
  • Unity封装延时调用定时器

    下面是Unity封装延时调用定时器的完整攻略: 1. 创建Timer类 首先,我们需要创建一个Timer类,用来实现延时和定时功能。这个类应该至少有以下几个方法: Timer(float duration, Action callback):构造函数,接收一个duration参数表示延时或者定时的时间(单位为秒),和一个callback回调函数,在延时或定时…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部