First()、FirstOrDefault()、Single() 和 SingleOrDefault()的区别
Enumerable.First() 方法:
返回序列中的第一个元素,如果源序列为空,则抛异常。
Enumerable.FirstOrDefault ()方法
返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值。
Enumerable.Single)()方法
返回序列的唯一元素;如果该序列并非恰好包含一个元素,则会引发异常。
Enumerable.SingleOrDefault()方法
返回序列中满足指定条件的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。