我有一个集合List<CustomClass>,我试图找到一种方法来返回一个字段,该字段对应于发生次数最多的另一个字段.我过去曾问过类似的问题,但我不确定如何将逻辑扩展到自定义类.例如.
我CustomClass有三个公共财产:
Title
Mid
Eid
Run Code Online (Sandbox Code Playgroud)
并且List<CustomClass> MatchedFeatures = List<CustomClass>();a循环填充.
我需要执行一个Linq操作来返回Mid具有最多相同数量的类的类Eid.所以我们正在计算相同的Eid列.
我试过用
var TopResult = MatchedFeatures.GroupBy(MatchedFeature => MatchedFeature).OrderByDescending(group => group.Count()).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
但它不会返回我想要的东西.
任何人都可以看到我错在哪里?我正在使用C#
这是上一个问题,似乎工作正常.现在如何在这种情况下扩展它......? C#中简单的LINQ问题
非常感谢,布雷特
如果要对Eid属性相同的那些功能进行分组,则应使用GroupBy(MatchedFeature => MatchedFeature.Eid).
如果你遗漏它,.Eid它只会将那些完全相同的特征组合在一起 - 而不是那些具有相同特征的特征Eid.