C# - 在模型列表中获取最常见的字符串

时间:2015-07-08 14:09:44

标签: c# asp.net-mvc linq

我想使用Linq从模型列表中获取最常见的字符串,但我真的不知道如何。

以下是一些示例代码:

public ModelClass {
    public string name { get; set; }
    public int num { get; set; }
}

想象一下,一个巨大的ModelClass列表存储在数据库中

// in some controller
var model = from s in _db.SomeClass
            select s;

string mostCommonName = ???????

如何使用linq从此列表中找到最常用的名称?

2 个答案:

答案 0 :(得分:10)

您可以使用GroupBy()来帮助查找具有相同值的字符串

var mostCommonName = _db.SomeClass
    .GroupBy(x => x.Name)
    .Select(x => new 
    { 
        Name = x.Key,
        Count = x.Count()
    })  
    .OrderByDescending(x => x.Count)
    .Select(x => x.Name)
    .First();

答案 1 :(得分:1)

$scope.gridOptions = {
        data: 'data',
        columnDefs: [
            {
                field: 'Settled',
                cellTemplate: '<div ng-class="{red: row.getProperty(col.field) < 0}"><div class="ngCellText">{{row.getProperty(col.field) | number }}</div></div>'
            }]
        }