我有一个类定义了以下方法:局部变量(INT)可能无法访问之前被初始化
public bool LogOff(string sessionId)
{
int res;
// Some non related code here..
if (res == 1)
{
return true;
}
return false;
}
有什么奇怪的是,我看到了“局部变量可能不是之前被初始化访问“错误从Visual Studio(我有ReSharper安装)的IF子句。为什么当“res”是一个值类型,并且应该默认为0?我应该指出,如果我特别将res的值设置为0,那么一切正常。
我在这里错过了什么?我想这些都是编程的基础知识,但显然我不熟悉的基础知识...
错误告诉你你需要做什么你需要做'int res = 0'将它初始化为一个值 – MethodMan
@nvoigt它不是重复的,因为这个例子处理引用类型DateTime,而这个问题是关于值类型的但好的... – Marko
@Marko值和引用类型都有默认值。当它们没有明确设置时,它们都会发出这个错误。对于这篇文章,值和引用类型没有区别。接受的答案也没有提到这种情况下的任何差异。因此,对我来说这是重复的。 – nvoigt