Rem*_*tec 1 c# int for-loop var type-inference
考虑以下代码......
double total = Int32.MaxValue;
total++;
int previousX = 0;
for (var x = 0; x <= total; x++)
{
if (x == Int32.MaxValue)
{
Console.WriteLine("Int32 max reached.");
}
if (x < 0)
{
Console.WriteLine("Counter now < 0.");
}
previousX = x;
}
Run Code Online (Sandbox Code Playgroud)
看来,如果将var与for循环一起使用,则默认类型推断是int.
这是正确的,因为如果计数器超过了int 32的最大值,而不是溢出堆栈,它会将自身重置为零,然后从零开始倒计时.
注意:previousX允许您设置断点并查看计数器"x"的先前值是什么.
有谁知道为什么会这样?
通过使用var作为for循环的计数器,似乎有可能进入一些泡菜.
归档时间: |
|
查看次数: |
1563 次 |
最近记录: |