在访问之前,可能不会初始化局部变量'mydate'

时间:2012-08-21 05:42:22

标签: c# c#-4.0

在我的代码中,我这样启动了Datetime

 DateTime myDate;

但是当我尝试访问它时,我收到了这个错误。

  

在访问

之前,可能无法初始化局部变量'myDate'

我在这里初步确定了我的约会对象?

1 个答案:

答案 0 :(得分:18)

宣布它,但你没有给它一个值;你不能 一个局部变量,直到它被“明确分配”。举个简单的例子:

DateTime myDate = DateTime.UtcNow; // is assigned

您不必立即给它一个值...您可以在尝试阅读之前随时给它一个值,包括任何不带歧义的分支等,例如:

DateTime myDate;
//....
if(condition) {
    myDate = DateTime.UtcNow;
} else {
    myDate = GetDateFromSomewhereElse();
}
Console.WriteLine(myDate);

相比之下, fields (类变量)会自动初始化为其全零值,并被视为对象创建的“明确赋值”。