只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句(CS0201)(Monty_Hall)

时间:2015-08-03 08:47:16

标签: c#

        int Turns;
        int Loses;


        if (ProgramOn == true) {


            if (MontyChoice == 1) {
                goat1 = 2;
                goat2 = 3;
                Console.WriteLine ("1");


                if (PlayerChoice == 1) {
                    Turns == Turns - 1;
                    loses == Loses + 1;

                }

我在标题中得到错误,int转换和丢失在​​if ProgramOn循环之外,我是否需要将它们公开?

2 个答案:

答案 0 :(得分:5)

我觉得冒风险回答这个问题但是......

Turns == Turns - 1;
Loses == Loses + 1;

应该是

Turns = Turns - 1;
Loses = Loses + 1;

==运算符用于相等,=运算符用于赋值。

我不知道您有另一个loses作为本地变量,但请注意losesLoses完全不同。

答案 1 :(得分:0)

Turns == Turns - 1;不是语句(代码“做某事”),而是布尔表达式(评估为true或false的代码)。布尔表达式不能像声明一样使用。这就是错误消息告诉你的。

问题是您使用了比较运算符==而不是赋值运算符=。改为写Turns = Turns - 1;Turns--;