我有一个主窗口,有4个工厂实例。工厂有时间知道他们什么时候完成。工厂有一种方法可以让剩下的时间到来。我正在为我的主类中的所有4个实例调用方法,所以我得到4个双打,其中包含每个工厂留下的秒数。
现在,我想显示工厂完工的顺序。 像:
1st - Factory 3
第二 - 工厂1
第3期 - 工厂2
第4期 - 工厂4
每个职位我有4个标签。如何计算哪个工厂要完成第一个,第二个等等?并将它们放在正确的标签上?
我能想到的只是写一个复杂的if语句。
我试图制作一个列表并按值排序,但这样我不知道哪个工厂属于某个值。
工厂类:
public double getRemaining()
{
seconds = TimeSpan.Parse(lblRemaining1.Content.ToString()).TotalSeconds;
return seconds;
}
主要课程:
public void calculateOrder()
{
remaining1 = Factory1.getRemaining();
remaining2 = Factory2.getRemaining();
remaining3 = Factory3.getRemaining();
remaining4 = Factory4.getRemaining();
}
答案 0 :(得分:1)
var factories = new Factory[] { Factory1, Factory2, Factory3, Factory4 }
.OrderBy(x => x.getRemaining()) // or, you can use OrderByDescending
.ToArray();
remaining1 = factories[0].getRemaining();
remaining2 = factories[1].getRemaining();
remaining3 = factories[2].getRemaining();
remaining4 = factories[3].getRemaining();