gpt4 book ai didi

c# - 为什么会出现编译错误 "Use of unassigned local variable"?

转载 作者:IT王子 更新时间:2023-10-29 03:45:59 29 4
gpt4 key购买 nike

我的代码如下

int tmpCnt;  
if (name == "Dude")
tmpCnt++;

为什么会出现错误“使用未分配的局部变量 tmpCnt”

我知道我没有明确地初始化它,但是由于 Default Value Table 无论如何,值类型都是用 0 初始化的。该引用文献还提醒我:

Remember that using uninitialized variables in C# is not allowed.

但是如果默认情况下已经完成,为什么我必须明确地执行它?如果我不必这样做,它不会获得性能吗?

最佳答案

局部变量没有被初始化。您必须手动初始化它们。

成员被初始化,例如:

public class X
{
private int _tmpCnt; // This WILL initialize to zero
...
}

但局部变量不是:

public static void SomeMethod()
{
int tmpCnt; // This is not initialized and must be assigned before used.

...
}

所以你的代码必须是:

int tmpCnt = 0;  
if (name == "Dude")
tmpCnt++;

总而言之,成员是初始化的,局部变量不是。这就是您收到编译器错误的原因。

关于c# - 为什么会出现编译错误 "Use of unassigned local variable"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233000/

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