C# 如何查看列表中最常见的值?
我有一个包含大量数据点的列表,其中很多数据点彼此相同。是否有一个方便的命令对列表进行排序,以查看发生的次数最多 我正在将结果写入一个文本文件,这样我就可以真正看到列表的结果了?C# 如何查看列表中最常见的值?,c#,C#,我有一个包含大量数据点的列表,其中很多数据点彼此相同。是否有一个方便的命令对列表进行排序,以查看发生的次数最多 我正在将结果写入一个文本文件,这样我就可以真正看到列表的结果了?公共类SomeObject public class SomeObject { public string FirstName { get; set; } public string LastName { get; set; } }
公共类SomeObject
public class SomeObject
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
private static void ListCount()
{
var items = new List<SomeObject>
{
new SomeObject {FirstName = "santa", LastName = "claus"},
new SomeObject {FirstName = "fred", LastName = "claus"},
new SomeObject {FirstName = "tooth", LastName = "fairy"},
new SomeObject {FirstName = "easter", LastName = "bunny"},
};
var byLastNameFrequency = items.GroupBy(i => i.LastName).OrderByDescending(g => g.Count()).ThenBy(g => g.Key);
foreach (var name in byLastNameFrequency)
{
Console.WriteLine(name.Key + ", " + name.Count());
}
}
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
}
私有静态无效列表计数()
{
var items=新列表
{
新的SomeObject{FirstName=“santa”,LastName=“claus”},
新的SomeObject{FirstName=“fred”,LastName=“claus”},
新的SomeObject{FirstName=“tooth”,LastName=“fairy”},
新建SomeObject{FirstName=“easter”,LastName=“bunny”},
};
var bylastname frequency=items.GroupBy(i=>i.LastName).OrderByDescending(g=>g.Count()).ThenBy(g=>g.Key);
foreach(byLastNameFrequency中的变量名称)
{
WriteLine(name.Key+,“+name.Count());
}
}
你试过什么了吗?你能举个例子吗?lambda表达式在这里可能很有用?方便确实是个人的事情,但是,到目前为止,您得到了什么?var result=MyList.GroupBy(item=>item).OrderByDescending(chunk=>chunk.Count()).First()代码>@DmitryBychenko尼斯