我有一个列表:
dave
maggie
john
stuart
john
john
dave
john
maggie
maggie
我想要的结果是:
john
john
john
john
maggie
maggie
maggie
dave
dave
stuart
答案 0 :(得分:6)
首先,我将它们分组。然后按每个组的计数对它们进行排序。最后,使用SelectMany
从组中每个单独的名称中获取一个扁平结构。
var myList = new List<string>()
{
"dave",
"maggie",
"john",
"stuart",
"john",
"dave",
"john",
};
var result = myList
.GroupBy(x => x)
.OrderByDescending(x => x.Count())
.SelectMany(x => x)
.ToList();