如何使用点符号样式编写let子句

时间:2010-03-20 20:22:29

标签: linq syntax

使用查询表达式样式,可以轻松编写let子句。我的问题是如何使用点符号样式来编写let子句。

1 个答案:

答案 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);