我有一个代表植物的对象列表-每个对象都有代表一系列可忍受环境条件的成员属性。
我想重新排序此列表,以便按照适用性对植物对象进行排名。
我想根据其温度/ pH范围的中间值与所提供的环境数据之间的接近程度,为列表中的每个项目赋予温度/ pH适应性的等级。
然后,我将平均排名并将列表按此数字排序。
但是,我不确定跟踪列表中每个项目的排名的最佳方法是什么。是否有人对如何最好地做到这一点有任何建议?
最佳答案
您可以这样做:
var plants = new Plant[] { new Plant { T = 1, Ph = 2 }, new Plant { T = 2, Ph = 2 } };
var ps = from p in plants
let magicNumber = p.T/p.Ph // Or some other algorithm
orderby magicNumber
select p;
然后,您可以从
Plant
的属性中创建所需的任何数字,而无需实现比较器。