【发布时间】:2015-08-11 00:07:54
【问题描述】:
我有一个名为 entry 的对象。它在浮点数中具有最小值和最大值,在字符串中具有文件名。这些对象存储在一个列表中
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())
这很好用,但它返回一个值,没有任何其他关于它来自哪里的信息。我需要整个对象,或者至少需要这个值所在的文件名。我想知道它是否可以在单个命令中完成,或者我是否必须再次迭代列表并根据之前选择的最小值和最大值找到所有条目。
【问题讨论】:
-
您的性能限制是什么? LINQ Max 和 Min 扩展方法是否太慢?您是否要对同一数据多次执行此查找?
-
这是我将在程序中只执行一次的最后一个任务。 LINQ 应该没问题。
-
也许可以使用聚合在一个简单的命令中完成。
-
你实现了getmax()???以及您为什么要费心实施它
-
你为什么要提出一个单一陈述、有效答案的问题,然后接受一个两者都不是的答案?