Mat*_*att -7 c# loops while-loop post-increment
为什么在检查条件之后而不是在整个循环之后,While循环后递增(或后递减)变量?
如:
int x = 0;
while (x++ < 5)
Console.WriteLine(x);
Run Code Online (Sandbox Code Playgroud)
输出是:1 2 3 4 5,当我认为它应该是0 1 2 3 4.它似乎它立即检查条件 - 真实 - inrements.这是正常的行为,因为我最近一直在练习普通C,这完全不同.
我是否应该更加明确地使用此选项?
while (x < 5)
Console.WriteLine(x);
++x;
Run Code Online (Sandbox Code Playgroud)
小智 7
如果您使用for循环,您的预期答案将是正确的:while没有任何特殊的内部工作方式.
for (x = 0; x < 5; x++)
Run Code Online (Sandbox Code Playgroud)
是最清晰地写这个的方法.