从对象列表中获取最大值的对象的最有效方法

问题描述 投票:1回答:6

我有一个称为入口的对象。它在float中具有min和max,在字符串中具有fileName。这些对象存储在列表中

List<Entry> minMaxList = new List<Entry>();

我需要找到一个值最高,值最小的对象及其文件名。

所以,如果我有这样的数组

       Entry1                    Entry2                  Entry3
min  max    filename        min  max    filename      min  max    filename
| 2 | 120 |  file1.txt |  | 2 | 150 |  file1.txt |  | 5 | 150 |  file1.txt |     

我想获得具有最低值的对象是Entry1和Entry2,具有最高值的对象是Entry2和Entry3

我尝试过:

var max =  minMaxList.Max(r => r.getMax())

效果很好,但是它返回了一个值,但没有其他任何有关其来源的信息。我需要整个对象,或者至少需要此值所在的文件名。我想知道是否可以在单个命令中完成,或者我是否必须再次迭代该列表并根据先前选择的最小和最大找到所有条目。

c# max min lis
6个回答
4
投票

您总是可以过滤可枚举,而不是只允许最大值通过:


1
投票

您已经关闭,您只需要添加一个查找匹配项的过滤器:


1
投票

您正在询问解决此问题的最有效方法。


0
投票

[尝试分组方式:


0
投票

我发现这是最短的方法。


-1
投票

您在这里,像这样。

© www.soinside.com 2019 - 2024. All rights reserved.