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

Nim*_*sad 2 c# c#-4.0

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

 DateTime myDate;
Run Code Online (Sandbox Code Playgroud)

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

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

在这里我初步了解我的约会知道吗?

Mar*_*ell 18

声明了它,但你没有给它一个值; 在"明确分配"之前,您无法读取局部变量.举个简单的例子:

DateTime myDate = DateTime.UtcNow; // is assigned
Run Code Online (Sandbox Code Playgroud)

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

DateTime myDate;
//....
if(condition) {
    myDate = DateTime.UtcNow;
} else {
    myDate = GetDateFromSomewhereElse();
}
Console.WriteLine(myDate);
Run Code Online (Sandbox Code Playgroud)

相反,字段(类变量)会自动初始化为其全零值,并从对象的创建中视为"明确赋值".