关于Linq中FirstFirstOrDefault;SingleSingleOrDefault等方法的说明

Posted 森林之子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Linq中FirstFirstOrDefault;SingleSingleOrDefault等方法的说明相关的知识,希望对你有一定的参考价值。

关于Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的说明

这里以First、FirstOrDefault进行说明,其他类似。 
1、First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常 

2、FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0)

3、Single,返回序列中的唯一一条记录,如果没有或返回多条,则引发异常。

4、SingleOrDefault,返回序列中的唯一一条记录,如果序列中不包含任何记录,则返回默认值,如果返回多条,则引发异常。 

注:以上默认值为NULL。

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

以上是关于关于Linq中FirstFirstOrDefault;SingleSingleOrDefault等方法的说明的主要内容,如果未能解决你的问题,请参考以下文章

我错过了一些关于 LINQ 的东西吗?

关于Linq左连接[重复]

关于为啥这个 linq ef 核心查询不会执行的建议

关于LINQ字段不同类型做映射问题!

LINQ

关于wpf中linq to entities的问题