LINQ通常查询到的结果是IEnumerable<T>集合类型,想要从中取出单一的元素,能使用Single、First、Last、ElementAt等方法,以及它们带有OrDefault的形式。
Single返回序列中的惟一元素,First、Last返回第一個、最後一個元素。
对比:
方法 | 序列为null | 序列不包含任何元素 | 序列只包含一个元素 | 序列包含多个元素 |
Single | 引起异常 | 引起异常 | 返回该元素 | 引起异常 |
SingleOrDefault | 引起异常 | 返回default(TSource) | 返回该元素 | 引起异常 |
First | 引起异常 | 引起异常 | 返回该元素 | 返回第一个元素 |
FirstOrDefault | 引起异常 | 返回default(TSource) | 返回该元素 | 返回第一个元素 |
Last | 引起异常 | 引起异常 | 返回该元素 | 返回最后一个元素 |
LastOrDefault | 引起异常 | 返回default(TSource) | 返回该元素 | 返回最后一个元素 |