首页 .Net .NET(C#) System.Linq Orderby和group by的使用及示例代码

.NET(C#) System.Linq Orderby和group by的使用及示例代码

1、使用Linq的OrderBy进行排序

List<string> a = new List<string> { "b", "c", "a", "aa" };
var b = a.OrderBy(o => o).ToList();
//使用区域敏感排序规则和固定区域比较字符串。
var b = a.OrderBy(o => o, StringComparer.InvariantCulture).ToList();
//使用区域敏感排序规则、固定区域来比较字符串,同时忽略被比较字符串的大小写。
var b = a.OrderBy(o => o, StringComparer.InvariantCultureIgnoreCase).ToList();

2、使用Linq的group by进行分组

示例数据:

ID  Counter  SrvID FirstName
-- ------ ----- ---------
1 34 66M James
5 34 66M Keith
3 55 45Q Jason
2 45 75W Mike
4 33 77U Will
list1.GroupBy(item => new { Counter = item.Counter, SrvID = item.SrvID })
.Select(group => new {
ID = group.First().ID,
Counter = group.Key.Counter,
SrvID = group.Key.SrvID,
FirstName = group.First().FirstName})
.OrderBy(item => item.ID);

或者

var query =
from record in list1
group record by new {record.Counter, record.SrvID } into g
let winner =
(
from groupedItem in g
order by groupedItem.ID
select groupedItem
).First()
select winner;

或者

var otherQuery = list1
.GroupBy(record => new {record.Counter, record.SrvID })
.Select(g => g.OrderBy(record => record.ID).First());

分组后数据:

ID  Counter  SrvID FirstName
-- ------ ----- ---------
1 34 66M James
2 45 75W Mike
3 55 45Q Jason
4 33 77U Will

相关文档.NET(C#) System.Linq中实现多列group by(分组)的示例代码



特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。