LINQ查询表单
本文关键字:表单 查询表 查询 LINQ | 更新日期: 2023-09-27 18:09:10
我经常看到linq查询用以下两种形式写成:
形式# 1:
from t1 in table1
where t1.SomeField == "Something"
select t1.FieldName
形式# 2:
table1.Where(c=> c.SomeField == "Something").Select(n=> new {n.FieldName})
- 这两种形式的Linq查询有什么区别? 性能是否有差异?
- 当我搜索Linq查询教程时,我总是得到结果第一种形式,如果我想学习第二种Linq的语法下面的表格,搜索时使用什么关键字?
第一个称为query expression
,第二个称为lambda expression
,它们是等价的。两种语法将编译成完全相同的代码。编译器在编译之前将查询表达式更改为等效的Lambda表达式,因此生成的IL完全相同。
还有一点:
链接的lambda语句可读性更强。
- 第二个是短lambda表达式
- 不,第二个写起来更快。
- 使用lamba表达式查找
根据许多人的说法,第一个版本更容易阅读。然而,lambda写起来更快,我个人认为它和第一个一样清晰。
祝你好运!
第一种形式使用查询语法,第二种形式称为lambda表达式。两种形式在性能上没有差别,但是第二种形式依赖于泛型委托,这使您可以更灵活地从外部层插入表达式,或者将它们作为方法参数传递。
参考:https://msdn.microsoft.com/en-us/library/bb397687.aspx查看更多信息。
查找LINQ lambda表达式
表单# 2是实际的c#表单。
表单# 1只是为表单# 2添加了一个语法糖和查询格式。
我更喜欢Form # 2,因为它与c#代码对齐得很好。