我已经做了很多搜索看起来是一个简单的LINQ问题,但我无法弄清楚如何从一个集合中获取对象指定的最小值(或最大值),而不诉诸排序是这样的:如何使用vb.net中的Linq选择一个对象
dim customers= GetCustomers()
dim youngest = (From c in customers
Order By c.age Ascending).ToList.First
此(未测试的代码)结构工作正常,不同之处在于整个客户阵列必须进行排序并放入一个列表中只提取第一个值的目的。这不可能是达到最低限度的最佳方式!
注意,我想在这种情况下,整个Ç记录,不可以这样做一个客户(一个典型的例子)的的最少年龄:
dim customers= GetCustomers()
dim youngest = (From c in customers
Select c.age).Min
甚至
dim customers= GetCustomers()
dim youngest = (From c in customers
Select c).Min(Function(x) x.age)
我不能为我的生活弄清楚如何得到整个对象(甚至索引),而不诉诸于排序...
**编辑过**我第一次遇到问题,现在是O(n)选择。 – 2011-03-18 23:48:54
我最终使用聚合,它似乎很干净。谢谢。 – Hucker 2011-03-19 05:37:55
我假设你的第一个问题,你需要接受一个解决你的问题的答案。 – 2011-03-19 05:46:14