按剩余时间顺序显示计时器

时间:2016-04-19 16:54:41

标签: c# wpf

我有一个主窗口,有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();


    }

1 个答案:

答案 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();