First()
当我知道或期望序列具有至少一个元素时,我会使用。换句话说,当序列异常为空时,则为空。
使用FirstOrDefault()
时,你知道你需要检查是否有一个元素或没有。换句话说,在合法的情况下,序列为空。您不应依赖异常处理来进行检查。(这是不好的做法,可能会损害性能)。
最后,和之间的区别在于First()
,Take(1)
它First()
返回元素本身,而Take(1)
返回的元素序列只包含一个元素。
何时使用.First以及何时将.FirstOrDefault与LINQ结合使用?
First()
当我知道或期望序列具有至少一个元素时,我会使用。换句话说,当序列异常为空时,则为空。
使用FirstOrDefault()
时,你知道你需要检查是否有一个元素或没有。换句话说,在合法的情况下,序列为空。您不应依赖异常处理来进行检查。(这是不好的做法,可能会损害性能)。
最后,和之间的区别在于First()
,Take(1)
它First()
返回元素本身,而Take(1)
返回的元素序列只包含一个元素。