在我的代码中,我像这样初始化日期时间
DateTime myDate;
但是当我尝试访问它时出现了这个错误。
Local variable 'myDate' might not be initialized before accessing
这里我初始化了我的日期知道吗?
最佳答案
你声明了它,但你没有给它赋值;您不能读取一个局部变量,直到它被“明确赋值”。举个简单的例子:
DateTime myDate = DateTime.UtcNow; // is assigned
你不必马上给它一个值......你可以在你尝试阅读它之前的任何时候给它一个值,包括任何分支等,它不会留下任何歧义它有一个值,例如:
DateTime myDate;
//....
if(condition) {
myDate = DateTime.UtcNow;
} else {
myDate = GetDateFromSomewhereElse();
}
Console.WriteLine(myDate);
相比之下,字段(类变量)会自动初始化为它们的全零值,并且从对象创建时就被视为“明确分配”。
关于c# - 局部变量 'mydate' 在访问之前可能未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12049021/