等待变量改变的C#循环不起作用

时间:2015-08-06 15:32:27

标签: c# loops while-loop

我有2个循环,一个循环永远继续,另一个循环在该循环内,它应该等待变量“月”改变。继承人的代码

int monthc = 0;
while (true) {
            monthc = time.month + 1;
            while(monthc != time.month){
            Debug.Log (monthc + " " + time.month);
            yield return new WaitForSeconds (0.1f);
        }
        monthc = 0;
            payment = loan * interest;
            money.Money = money.Money - payment;
        }

如果你想知道什么收益率返回新的WaitForSeconds(0.1f);它的类型与thread.sleep(100);。

相同

不确定是否需要时间等级,所以无论如何我都会包含它;

public static int daytime = 1;
public static int month = 1;
public static int year = 1;
public static float speed = 2f;

Text text;
IEnumerator Time(){
    while (true) {
        daytime++;
        yield return new WaitForSeconds (speed);
        if (daytime == 31) {
            daytime = 0;
            month++;
        }
        if (month == 13) {
            year++;
            month = 0;
        }
    }
}

我也会喜欢任何反馈,以提高效率。

1 个答案:

答案 0 :(得分:2)

至少有一个问题出在这里:

monthc = time.year + 1;
    while(monthc != time.year + 1){
    ....

您正在将monthc更改为等于time.year + 1,因此它们始终相等,因此永远不会进入内部while循环。