我似乎缺少有关LINQ的东西。对我来说,似乎正在吸收我最不喜欢的一些SQL元素,并将其移入C#语言并将其用于其他用途。
我的意思是,我可以看到在数据库以外的其他事物上使用类似SQL的语句的好处。但是,如果我想编写SQL,为什么不只编写SQL并将其排除在C#之外呢?我在这里想念什么?
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
LINQ与SQL不相关。LINQ即将在对象上应用函数式编程范例。
LINQ to SQL是在LINQ基础之上构建的ORM,但是LINQ还有很多。我不使用LINQ to SQL,但是一直使用LINQ。
承担查找两个列表的交集的任务:
在LINQ之前,此任务需要编写一个嵌套的foreach,它对大列表O(N * M)中的每个项目都对小列表进行一次迭代,并需要大约10行代码。
foreach (int number in list1) { foreach (int number2 in list2) { if (number2 == number) { returnList.add(number2); } } } 使用LINQ,它可以在一行代码中执行相同的操作:
var results = list1.Intersect(list2); 您会注意到,它看起来不像LINQ,但是确实如此。如果不想,则不需要使用表达式语法。