使用查询表达式样式,可以轻松编写let子句。我的问题是如何使用点符号样式来编写let子句。
答案 0 :(得分:17)
基本上它是Select
(在大多数情况下)引入透明标识符 - 通过匿名类型封装所有当前指定的范围变量。例如,此查询:
string[] names = { "Jon", "Mark" };
var query = from name in names
let length = name.Length
where length > 3
select name + ": " + length;
被翻译成这样的东西:
var query = names.Select(name => new { name, length = name.Length })
.Where(z => z.length > 3)
.Select(z => z.name + ": " z.length);