[英]Compare items of List<Object> to other elements in the list
我需要一种方法来执行标题所建议的操作。
该列表由一个对象组成,该对象本身包含一个列表和一个int。
我想比较对象的int值,并找到具有最小int值的对象,然后返回此对象。
目前我已经提出了类似的建议,尽管我一直在努力。
Object temp = new Object;
for(int i = 0; i < list.Count; i++)
{
for(int j = i + 1; j < list.Count; j++)
{
if(list[i].intVar < list[j].intVar)
{
temp = list[i];
}
}
}
return temp;
感谢您的任何帮助 :)
您可以使用聚合来获取具有最低int值的对象。
list.Aggregate((i, j) => i.intVar < j.intVar? i : j);
您必须包含System.Linq命名空间才能使用此扩展方法。
using System.Linq;
如果您的list
包含一些具有intVar
属性的对象,并且您想查找包含最小intVar
的对象,则可以使用Enumerable.Min
方法,如下所示:
var minValue = list.Min(x => x.intVar);
return list.First(x => x.intVar == minValue);
只要按该字段排序,就取列表的第一个元素。 Linq为此很好地工作:
return list.OrderBy(x => x.intVar).First();
根据您的问题,您希望列表中的intVar值最小。
var smallestValue = list.SingleOrDefault(arg => arg.intVar== list.Min(arg => arg.intVar)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.