![]() |
1
8
正如其他人提到的,它使IntelliSense成为可能,并且它使查询以实际执行操作的相同顺序读取:首先获取集合,然后对其进行筛选,然后投影筛选结果。 第三个原因是这个顺序使得范围界定规则更加合理。您会注意到,在C中,您永远不会引入“流向左边”的新范围。在SQL中,从引入作用域的内容被用于从的左侧。在C语法中,必须显式使用范围变量,因此必须将它们声明到使用它们的代码的左侧;然后范围变量在查询的各个部分的范围内。 作用域规则中的一个奇怪之处是join子句。当你说
…
范围变量
|
![]() |
2
8
它不仅允许更好的智能感知,而且可以正确地反映操作的实际顺序。例如,
写没有意义
|
![]() |
3
6
LINQ不仅用于与数据库相关的操作,还用于内存数据的一般查询和投影。还要考虑lambda表达式和扩展方法,Linq查询表达式语法就是它的语法基础。
句法上的糖分
现有的查询表达式语法接近lambda/extension语法,编译器首先要做的就是将前者转换为后者。它更能描述实际发生的事情的顺序。 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Pavel Foltyn · 如何在C中生成逆字典# 6 月前 |
![]() |
ewok · 基于种子和上一个值创建值列表 11 月前 |
|
Vasu V · 将foreach转换为select语句 11 月前 |
![]() |
Amber Cahill · LINQ Any()会在没有参数的情况下枚举吗? 12 月前 |
![]() |
Modest · 使用命名空间和文本值序列化xElement 1 年前 |