在Linq中,.FirstOrDefault和.SingleOrDefault之间的区别是什么

rid*_*nsb 8 linq entity-framework

我不知道之间的区别FirstOrDefaultSingleOrDefault.我何时应该使用第一个?何时应该使用第二个?

Bal*_*a R 14

FirstOrDefault() 表示当输入集合中存在零个或多个结果时,如果有多个结果,则调用返回第一个项目,如果没有则返回默认值.

SingleOrDefault() 用于在输入集合中预期为零或一个结果时,如果只有一个结果,则调用返回一个结果,如果没有结果,则返回Default;如果有多个结果,则返回异常.


Jon*_*yMC 7

如果存在多个项目,SingleOrDefault将抛出"Sequence包含多个元素"异常.