如何在列表中获取字符串的平均值

时间:2011-10-26 20:40:04

标签: c# list average

我试图在列表中获得字符串的平均出现次数。 基本上我试图在大约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");

我想让“两个”回到我身边......

有什么想法吗?

3 个答案:

答案 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();