C# Find()和First()与FirstOrDefault(

2024-04-27 16:38

本文主要是介绍C# Find()和First()与FirstOrDefault(,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. Find方法只能在List上使用,而后者能更广泛应用在IEnemerable上。

Find最终是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度会比FirstOrDefault快很多,据测试可能会快一倍以上。

  1. First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常
  2. FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0)
    First、FirstOrDefault的区别在于:当没有元素满足条件时,一个抛出异常,一个返回默认值。
    因此,在使用时,一定要注意这个区别:
    1、当确信序列中一定有满足条件的元素时,使用First方法,取到元素后,无需判断是否为null
    2、当序列中可能找不到满足条件的元素时,使用FirstOrDefault方法,然后,一定要对返回值是否为null,进行不同的处理

参考文献:http://blog.csdn.net/colorwaterer/article/details/41224543

这篇关于C# Find()和First()与FirstOrDefault(的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941005

相关文章

C#面:.Net、ASP.Net、C#、VisualStudio之间的关系是什么

C#是一种编程语言,它是由微软开发的,用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。C#是一种面向对象的语言,它具有强大的类型安全性和丰富的库支持。 .NET是一个软件开发框架,它由微软开发和维护。.NET框架提供了一个运行时环境和一系列的类库,用于简化和加速应用程序的开发过程。C#是.NET框架的一种主要编程语言,但.NET框架也支持其他编程语言,如 VB.NE

C# 服务器、客户端学习(四)

客户端将数据传到服务器,服务器将数据反传到客户端 1、服务器 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Net.S

C# 服务器、客户端学习(二)

如果使用一个do/while循环,并将listener.AcceptTcpClient()方法和TcpClient.GetStream().Read()方法都放在这个循环以内,那么服务端将可以处理多个客户端的一条请求。 1、服务器端 using System; using System.Collections.Generic; using System.Linq;

C# 客户端服务器学习(一)

1、服务器程序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Net.Sockets; using System.IO;

C# WebSevice搭建与调用实例

一、创建ASP.NET webservice项目 1、打开vs2013创建 ASP.NET web应用程序  选择空项目; 2、右键项目添加新建项,选择web服务(ASMX); 3、将这个修改 [WebService(Namespace = "http://www.youname.com/")]; 4、点击调试,没有错误的情况下,右键项目发布; 二、配置IIS 1、控制面板-》程序和功

C# xml某节点下内容全部清空

1、test.xml文件内容 <?xml version="1.0" encoding="UTF-8"?> <TestList>   <test a="" b=""/>  <test a="" b=""/> </TestList> 2、实现代码            bool bSuccess = true;             while (bSuccess)

C# virtual 关键字

文章目录 virtual 使用Override 关键字New 关键字何时使用 Override / New 关键字?不要在构造函数里调用虚函数 virtual 使用 c#的方法,默认为非虚方法,如果一个方法被声明为 virtual (虚方法),则继承该方法的任何类都可以实现它自己的版本。 public class BaseEngineer{public virtual voi

C# SolidWorks 二次开发-显示配置

在 SolidWorks 的二次开发中,显示配置(Display States)是一个非常重要的功能。显示配置允许用户在同一个配置(Configuration)下保存不同的显示状态,如隐藏或显示的零件、不同的颜色和材质等。本文将向新的开发者解释如何使用 C# 进行 SolidWorks 的二次开发,并详细介绍显示状态配置相关的 API。 初始化 SolidWorks API 首先,你需要确保安

基于C#和SQL SERVER 2008实现的男士服装进销存管理系统

摘 要 系统主要包括基础用户和供应商数据、货物采购、货物销售、库存清点、库存调整等功能。基础数据用于维护用户和供货商的基本信息,如所属供应商和用户、联系人、联系方式等,用户可以通过系统的基础数据模块设置系统的基本信息,方便在其他模块中使用,有助于系统在企业信息结构发生变化时能够及时响应。 软件主要服务中小型服销售商铺或者公司,是商铺和公司完善内部管理、理顺工作流程各个环节的强有力的管理工具。系统

C#调用WebAPI

转自大神: https://www.cnblogs.com/gq0324/p/8583211.html