【发布时间】:2012-03-03 05:31:48
【问题描述】:
我的代码如下
int tmpCnt;
if (name == "Dude")
tmpCnt++;
为什么会出现错误“Use of unassigned local variable tmpCnt”?
我知道我没有显式地初始化它,但是由于 Default Value Table 无论如何,值类型都是用0 初始化的。参考资料也提醒我:
请记住,不允许在 C# 中使用未初始化的变量。
但是,如果默认情况下已经完成,为什么我必须明确地这样做呢?如果我不必这样做,它不会获得性能吗?
【问题讨论】:
-
谁能帮我做标题?找不到适合这个的:-S
-
我有一个本地结构,从未初始化,编译时没有错误。今天我创建了一个不同的结构,同样处理,得到“未初始化的局部变量错误”。它的所有 members 在使用前都被设置为一个值,但我不能先将其设置为 null,因为它“只是”一个结构。编译的结构仅包含整数、布尔值和字符串。给出错误的那个也包含 DateTimes。 “我的结构类型我的结构 = 新的我的结构类型();”杀死了错误。我不是第一次因为错过了几个级别的东西而被咬伤。