【发布时间】:2018-07-03 12:11:02
【问题描述】:
在这样的代码中:
int val;
if (something())
val = 10;
val++; // Error CS0165 Use of unassigned local variable
当使用局部变量时,我收到CS0165 错误消息,而它之前可能没有被确定初始化。
在 C++ 世界中,这种情况是未定义的行为类情况,这意味着任何事情都是允许的。所以也许有编译器错误,也许有编译器警告,也许有运行时错误,也许代码只是使用了当时内存中的任何内容,祝你好运。
C# 中的此类代码是否保证 CS0165?
是否存在此特定代码不产生错误消息的情况?
【问题讨论】:
标签: c# .net compiler-errors language-lawyer static-analysis