我想使用
Linq从模型列表中获取最常见的字符串,但我真的不知道如何.
这是一些示例代码:
@H_502_4@public ModelClass { public string name { get; set; } public int num { get; set; } }想象一下,一个巨大的ModelClass列表存储在数据库中
@H_502_4@// in some controller var model = from s in _db.SomeClass select s; string mostCommonName = ???????如何使用linq从此列表中找到最常用的名称?
解决方法
您可以使用GroupBy()来帮助查找具有相同值的字符串
@H_502_4@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();