下面介绍一些查询的示例,示例应用程序是一个控制台应用程序,使用了如下名称空间:
System
System.Collections.Generic
System.Linq
使用where子句,可以合并多个表达式。例如,找出赢得至少7场比赛的意大利和奥地利赛车手。传递给where子句的表达式的结果类型应是布尔类型:
static void Filtering()
{
var racers = from r in Formula1.GetChampions()
where r.Wins > 7&& (r.Country == "Italy"|| r.Country =="Austria")
select r;
foreach(var r in racers)
{
System.Console.WriteLine($"{r:A}");
}
}
用这个LINQ查询启动程序,返回的结果如下:
Alberto,Ascari,Italy; starts:32, wins:10
Jochen,Rindt,Austria; starts:60, wins:7
并不是所有的查询都可以用LINQ查询语法完成。也不是所有的扩展方法都映射到LINQ查询子句上。高级查询需要使用扩展方法。为了更好地理解带扩展方法的复杂查询。最好看看简单的查询是如何映射的。使用扩展方法Where()和Select(),会生