使用 linq 在列表中按重复数量排序

Order by duplicate amount in a list using linq

我有这个class:

class Cell
{
    string keyword;
    double bkgColor;
    double keywordColor;
}

我有这个 class 的列表,我想使用 linq 按 bkgColor 的副本对其进行排序。 例如:分配了最多关键字的具有背景颜色的关键字将位于列表的开头等。

非常感谢每一个回答!

假设关键字、bkgColor 和 keywordColor 是 class 单元格的 public 属性。你可以使用这个 linq

var result = cells.GroupBy(c => c.bkgColor)
            .OrderByDescending(g => g.Count())
            .SelectMany(g => g.Select(c => c));