C# 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句(CS0201)(Monty_Hall)

C# 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句(CS0201)(Monty_Hall),c#,C#,我在标题中得到错误,int圈和loss在if ProgramOn循环之外,我需要公开它们吗 我想冒险回答这个问题,但是 int Turns; int Loses; if (ProgramOn == true) { if (MontyChoice == 1) { goat1 = 2; goat2 = 3; Console.W

我在标题中得到错误,int圈和loss在if ProgramOn循环之外,我需要公开它们吗

我想冒险回答这个问题,但是

        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;

                }
应该是

Turns == Turns - 1;
Loses == Loses + 1;
=
运算符表示相等,
=
运算符表示赋值


我不知道您还有另一个
loss
作为局部变量,但请注意
loss
loss
是完全不同的。

Turns==Turns-1
不是一个语句(做某事的代码),而是一个布尔表达式(计算结果为true或false的代码)。布尔表达式不能像语句一样使用。这就是错误消息告诉您的

问题是您使用了比较运算符
=
,而不是赋值运算符
=
。写入
圈数=圈数-1
旋转--取而代之

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