When Use:如果恰好需要1个元素;不是0或大于1。如果列表为空或包含多个元素,则会抛出异常“序列包含多个元素”。
SingleOrDefault ()
返回查询的单个特定元素,如果没有找到结果,则返回默认值
When Use:当需要0或1个元素时。如果列表有2个或更多项,它将抛出异常。
第()
返回带有多个结果的查询的第一个元素。
When Use:当期望有1个或多个元素,而您只需要第一个元素时。如果列表中不包含元素,它将抛出异常。
FirstOrDefault ()
返回包含任意数量元素的列表的第一个元素,如果列表为空,则返回默认值。
When Use:当需要多个元素而你只想要第一个元素时。或者列表为空,你想要指定类型的默认值,就像default(MyObjectType)一样。例如:如果列表类型是list<int>,它将返回列表中的第一个数字,如果列表为空则返回0。如果它是list<string>,它将返回列表中的第一个字符串,如果列表为空则返回null。