我试图在列表中获得字符串的平均出现次数。 基本上我试图在大约4个选项的列表中获取最常见的字符串。 例如,在这个例子中
List<string> lMyList = new List<string>();
lMyList.Add("One");
lMyList.Add("One");
lMyList.Add("Two");
lMyList.Add("Two");
lMyList.Add("Two");
lMyList.Add("Three");
lMyList.Add("Three");
我想让“两个”回到我身边......
有什么想法吗?
答案 0 :(得分:4)
您可以使用LINQ:
list.GroupBy(s => s).OrderByDescending(g => g.Count()).First()
答案 1 :(得分:3)
string most = lMyList.GroupBy(x => x)
.Select(g => new {Value = g.Key, Count = g.Count()})
.OrderByDescending(x=>x.Count).First();
答案 2 :(得分:2)
寻找平均值:
list.GroupBy(x => x).Average(x=>x.Count())
查找max do:
var max = groups.OrderbyDescending(x=>x.Count()).FirstOrDefault();