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