一、First
取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常
二、FirstOrDefault
取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0)
三、Single
返回序列中的唯一一条记录,如果没有或返回多条,则引发异常。
四、SingleOrDefault
返回序列中的唯一一条记录,如果序列中不包含任何记录,则返回默认值,如果返回多条,则引发异常。
五、使用场合
1、当确信序列中一定有满足条件的元素时,使用First方法,取到元素后,无需判断是否为null
2、当序列中可能找不到满足条件的元素时,使用FirstOrDefault方法,然后,一定要对返回值是否为null,进行不同的处理
参考资料: .NET中First,FirstOrDefault,Single,SingleOrDefault区别有哪些