使用c#编译器的查询理解特性,你可以编写如下代码:
var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" };
var result =
from animalName in names
let nameLength = animalName.Length
where nameLength > 3
orderby nameLength
select animalName;
在上面的查询表达式中,let
关键字允许将一个值传递给where和orderby操作,而不重复调用animalName.Length
。
实现“let”关键字在这里的作用的等价的LINQ扩展方法调用集是什么?