为了账号安全,请及时绑定邮箱和手机立即绑定

为什么编译错误“使用未分配的局部变量”?

为什么编译错误“使用未分配的局部变量”?

守着一只汪 2019-06-26 17:28:20
为什么编译错误“使用未分配的局部变量”?我的代码如下int tmpCnt;  if (name == "Dude")      tmpCnt++;为什么会有错误Use of unassigned local variable tmpCnt?我知道我没有显式初始化它,但是由于默认值表值类型初始化为0不管怎样。这一提法也提醒了我:请记住,不允许在C#中使用未初始化的变量。但是,如果默认情况下已经完成了,为什么我必须显式地这样做呢?如果我不用的话,它会不会有更好的表现呢?只是想知道.。
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

以下类别的变量被归类为最初的变量未分配:

  • 初始未赋值结构变量的实例变量。
  • 输出参数,包括struct实例构造函数的此变量。
  • 局部变量,但在CATCH子句或foreach语句中声明的变量除外。

以下类别的变量被归类为最初的变量指派:

  • 静态变量
  • 类实例的实例变量。
  • 初始赋值结构变量的实例变量。
  • 数组元素
  • 值参数
  • 参考参数
  • 在CATCH子句或foreach语句中声明的变量。


查看完整回答
反对 回复 2019-06-26
  • 3 回答
  • 0 关注
  • 684 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信