gpt4 book ai didi

使用 var 时的 C# For 循环类型推断

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:46 26 4
gpt4 key购买 nike

考虑以下代码...

            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;
}

看起来,如果将 var 与 for 循环一起使用,则默认类型推断是 int。

这是正确的吗,因为如果计数器超过 int 32 的最大值,它不会溢出堆栈,而是将自身重置回零,然后从零开始倒计时。

注意:previousX 允许您设置断点并查看计数器“x”的先前值是多少。

有人知道为什么会这样吗?

似乎可以通过使用 var 作为 for 循环的计数器来解决问题。

最佳答案

x的类型由初始值决定,上面是整型字面值0

如果您希望 x 为 double ,则使用 double 文字 0D

关于使用 var 时的 C# For 循环类型推断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com