使用 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
.
什么是等效的 LINQ 扩展方法调用集来实现“let”关键字在此处的作用?