Ash*_*ani 1 c# loops for-loop visual-studio
这是一个非常简单的for循环:
for (byte i = 0; i <= 255; i++)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
在我变为0后循环挂起,直到视觉工作室终于停止运行,但为什么?
如果我将计数器类型更改为int,它可以完美地工作.
use*_*963 14
您的字节在255处溢出.如果您i在循环中打印如下:
for (byte i = 0; i <= 255; i++)
{
Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)
您将看到如下输出:
...
253
254
255
0
1
...
Run Code Online (Sandbox Code Playgroud)
字节的最大值为255,因此i <= 255永远不会变为false.改变你的条件来i < 255解决无限循环.