C# 排序查询结果
用where子句(或者WhereO方法调用)找到了感兴趣的数据后,LINQ还可以方便地对得到的数据执行进一步处理,例如,重新排列结果的顺序。下面的示例将按字母顺序给第一个查询的结果排序。
试一试给查询结果排序:BeginningCSharp7_22_5_OrderQueryResults\Program.cs
按照下面的步骤在Visual Studio 2017中创建示例。
(1)可以修改QuerySyntax示例,或者在C:\BeginningCSharp7\Chapter22目录中创建一个新的控制台应用程序项目 BeginningCSharp7_22_5_OrderQueryResults。
(2)打开主源文件Program.cs。与以前一样,Visual Studio 2017会自动在Program.cs 中包含using System. Linq; 名称空间指令。
(3)在Progranj.cs的Main()方法中添加如下代码:
static void Main{string[] args)
{
string[] names = { "Alonso", "Zheng", "Smith", "Jones", "Smythe",
"Small", "Ruiz", "Hsieh", "Jorgenson", "Ilyich11," Singh", "Samba", "Fatimah" };
var queryResults =
from n in names
where n.StartsWith("S")
orderby n
select n;
WriteLine("Names beginning with S ordered alphabetically:");
foreach {var item in queryResults) {
WriteLine(item);
}
Write ("Program finished, press Enter/Return to continue:");
ReadLine();
}
(4)编译并执行程序。结果是以S开头的names列表,且按字母顺序排序,如下所示:
Names beginning with S:
Samba
Singh
Small
Smith
Smythe
Program finished, press Enter/Return to continue:
示例说明
这个程序与前一个程序几乎相同,只是在查询语句中增加了一行代码
var queryResults =
from n in names
where n.StartsWith("S")
orderby n
select n;
点击加载更多评论>>