这可能只是我,但我一直在尝试在 c# 中做一个 do...while 循环,如果两个条件之一为真,循环将结束。

我正在使用 ||运算符(operator)。谷歌告诉我那是 OR,但我的循环只有在两个条件都为真时才结束。我究竟做错了什么?

这是一个代码示例:

int sugar=0, salt=0, value=0;
string tLine;

Console.WriteLine("Enter integer values to add to Sugar and Salt.");
Console.WriteLine("The loop should end when either one reaches 10 or more.");

do {
    Console.Write("Sugar? =");
    tLine = Console.ReadLine();
    int.TryParse(tLine, out value);
    sugar =sugar+value;
    Console.Write("Salt? =");
    tLine = Console.ReadLine();
    int.TryParse(tLine, out value);
    salt =salt+value;
    }while ((sugar<10) || (salt<10));

Console.WriteLine("Sugar={0}, Salt={1}", sugar, salt);
Console.ReadKey();

最佳答案

每次满足条件时执行循环。所以你必须把它改成:

while ((sugar<10) && (salt<10))

或者
while (!((sugar>=10) || (salt>=10)));

关于C# .net - || OR 运算符不正常。似乎作为 AND 工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37628017/

10-13 22:30