我有一个对象/类的 List<T>
,它已经填充了来自 SQL 数据库的数据。我想要做的是找出这个表中最常见的用户是谁,并根据最常见的用户并从最常见的用户开始对新列表进行排序
我不知道如何在 Stackoverflow 上设计表格的样式,所以你必须忍受我。
例如,数据库表可以如下所示:
id - userID - randomColumn - randomColumn2
1 - 2 - ExampleText - ExampleText
2 - 2 - ExampleText - ExampleText
3 - 1 - ExampleText - ExampleText
4 - 3 - ExampleText - ExampleText
5 - 2 - ExampleText - ExampleText
6 - 1 - ExampleText - ExampleText
我想使用 LINQ 或 SQL 来格式化它,所以我得到一个看起来像这样的列表
userID - amountColumn - randomColumn
2 - 3 - ExampleText
1 - 2 - ExampleText
3 - 1 - ExampleText
最佳答案
使用 LINQ 提供的 GroupBy
扩展方法。
// Pseudo code
var grouped = list.GroupBy(item => item.UserID);
然后,您可以调用
OrderByDescending
对结果进行排序:var sorted = grouped.OrderByDescending(group => group.Count());
关于c# - 获取 List<T> 中最常见的项目并在此之后排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21434903/