C# 从列表对象双类型查找最大单元格索引和值
我有以下代码,它在一个对象中生成4个列表(每个列表包含24个单元格):C# 从列表对象双类型查找最大单元格索引和值,c#,list,double,max,min,C#,List,Double,Max,Min,我有以下代码,它在一个对象中生成4个列表(每个列表包含24个单元格): 公共类MyDataObject { 公共双数量需要{get;set;} 公共双精度{get;set;} 公共双TotalGain{get;set;} 公共双总成本{get;set;} } var L=新列表(); 对于(intz=0;z
公共类MyDataObject
{
公共双数量需要{get;set;}
公共双精度{get;set;}
公共双TotalGain{get;set;}
公共双总成本{get;set;}
}
var L=新列表();
对于(intz=0;z
每个列表都是double
类型
创建完列表后,我想找到d.TotalCost的最大值和最小值
最后的目标是找到min
和max
行索引,这样我就可以在数据网格中为这些行着色
谢谢。这可以由LINQ完成 首先使您的
MyDataObject
实现i可比较
。执行CompareTo
方法,如下所示:
public int CompareTo(MyDataObject other) {
return this.TotalCost.CompareTo(other.TotalCost);
}
然后,您只需使用此函数即可找到总成本最大的数据对象的索引:
L.IndexOf(L.Max())
另一种方法是:
L.FindIndex(x => x.TotalCost == L.Max(y => y.TotalCost))
这是在WinForms中吗?Wpf如果我理解正确,你能解释一下如何在这个例子中实现Icomparable吗?我编辑了这个问题。谢谢你,伙计@sweeper@ben编辑。不过,我不太喜欢icomparable方法,我建议您使用后一种方法。
L.FindIndex(x => x.TotalCost == L.Max(y => y.TotalCost))