C# 使用Linq 实现统计结果排名
0 条评论模型
public class Consult
{
public string Name { get; set; }
public int Times { get; set; }
public int Rank { get; set; }
}
数据
var consults = new List<Consult>()
{
new Consult() { Name = "张三", Times = 1 },
new Consult() { Name = "李四", Times = 1 },
new Consult() { Name = "王五", Times = 2 },
new Consult() { Name = "赵六", Times = 3 },
new Consult() { Name = "小明", Times = 0 },
new Consult() { Name = "小红", Times = 0 }
};
排名
var result = consults.OrderByDescending(d => d.Times)
.GroupBy(d => d.Times)
.SelectMany((g, i) => g.Select(e => new Consult()
{
Name = e.Name,
Times = e.Times,
Rank = i + 1
})).ToList();