在LINQ中,orderby子句可以同时指定多个排序元素,还可以为每个排序元素指定独立的排序方式。orderby语句后的第一个的排序元素为主要排序,第二个位次要排序,依次类推,如下所示,将所有学生首先按照姓名的字符数从少到多排序,其次按照学生年龄从高到低排序。
Student[ ] stAry={ //创建学生信息数组stAry作为数据源
new Student ("张三","男",20),
new Student ("李素","女",19),
new Student ("李四","男",25),
new Student ("王吾","男",28),
new Student ("王丹","女",22),
new Student ("欧阳小丹","女",24),
}; //作为数据源
//查询query3返回stAry中所有元素,主要按姓名字符数从少到多的排序
//次要按学生年龄从高到低排序
LINQ查询:
var query3=
from st in stAry
orderby st.Name.Length ascending,st.Age descending
select st;
foreach(var item in query3)//打印查询query3的元素
{
System.Console.WruteLine(item);
}