IEnumerable 中 Single、SingleOrDefault、First、FirstOrDefault、Last、LastOrDefault 区别

C# 中:

List<int> list = new List<int>();
int n = list.Single(m => m == 3); // 异常:序列不包含任何匹配元素
Response.Write(n);

List<int> list = new List<int>();
list.Add(3);
list.Add(3);
int n = list.Single(m => m == 3); // 异常:序列包含一个以上的匹配元素
Response.Write(n);

List<int> list = new List<int>();
int n = list.SingleOrDefault(m => m == 3);
Response.Write(n); // 0

总结:


找不到找到一个找到多个
Single异常返回该元素异常
SingleOrDefault返回 T 类型对应的默认值返回该元素异常
First异常返回该元素返回第一元素
FirstOrDefault返回 T 类型对应的默认值返回该元素返回第一元素
Last异常返回该元素返回最后一个元素
LastOrDefault返回 T 类型对应的默认值返回该元素返回最后一个元素


你可能感兴趣的