C# 关于FirstOrDefault或SingleOrDefault
FirstOrDefault或SingleOrDefault将返回何种数据 假设我的查询返回3条记录,如C# 关于FirstOrDefault或SingleOrDefault,c#,linq,C#,Linq,FirstOrDefault或SingleOrDefault将返回何种数据 假设我的查询返回3条记录,如 empid ename salary ----- ----- ------ 1 joy 1500 2 rob 4500 3 jen 6500 所以,如果我们使用FirstOrDefault或SingleOrDefault,那么我将得到什么样的结果集。请举例说明。谢谢SingleOrDefault将返回异常,因为它等待获取一条记录或没有
empid ename salary
----- ----- ------
1 joy 1500
2 rob 4500
3 jen 6500
所以,如果我们使用FirstOrDefault或SingleOrDefault,那么我将得到什么样的结果集。请举例说明。谢谢SingleOrDefault将返回异常,因为它等待获取一条记录或没有记录,FirstOrDefault将返回第一条记录(1)
当where包含一个条件时,您可以使用SingleOrDefault,该条件在您的案例中会以记录形式返回-
其中empid==1
显然,您只需要一个ID为1的DB记录
| 0 values | 1 value | > 1 value
FirstOrDefault | Default | First value | First value
SingleOrDefault | Default | First value | Exception
要将此表扩展到整个集合:
| 0 values | 1 value | > 1 value
First | Exception | First value | First value
FirstOrDefault | Default | First value | First value
Single | Exception | First value | Exception
SingleOrDefault | Default | First value | Exception
Last | Exception | Last value | Last value
LastOrDefault | Default | Last value | Last value
下面是另一个版本,其中包含一些具体的值,以使其更清晰:
| [] | [1] | [1,2,3]
First | Exception | 1 | 1
FirstOrDefault | 0 | 1 | 1
Single | Exception | 1 | Exception
SingleOrDefault | 0 | 1 | Exception
Last | Exception | 1 | 3
LastOrDefault | 0 | 1 | 3
FirstOrDefault将返回第一个元素和默认值(值类型为默认值,引用类型为null),如果不存在任何元素
如果只有一个元素存在,SingleOrDefault将返回该元素的值。如果不存在,则为默认值;如果查询中有多个元素,则引发异常 在您的情况下,FirstOrDefault将返回第一个元素。
SingleOrDefault将抛出一个异常。谢谢……给我一个SingleOrDefault的小示例。我需要知道将使用SingleOrDefault的情况。请需要一个示例。当您的where包含一个条件时,您可以使用SingleOrDefault,该条件在您的情况下会在记录中返回-其中empid==1显然,您只需要一个ID为1的DB记录,我在您的帮助下根本无法理解。相反,解释会更好。。。。thanks@user72:你不明白什么?该表非常清晰。@user728750:对于您的数据示例,
FirstOrDefault
将为您带来“喜悦”,而SingleOrDefault
将引发异常。