Linq中First和Single 的区别

区别在于:

First: 找到符合条件的第一记录,就返回了,不管后面还有多少数据。

Single: 先将记录都梳理一次,再找到符合要求的唯一记录。

知识点延伸:

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展,允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

First 和 Single 都有一个避免当没有元素满足要求而抛出异常的选择,当不确定想要获取的元素是否存在的时候,可以用…OrDefault(), 因为 null 可以很好的表示“找到不”。

当不在乎是否有重复项目或者不可能有重复元素存在的时候,可以使用First; 当想要核实是否有重复元素存在的时候当然就选择Single。