c# - 局部变量 'mydate' 在访问之前可能未初始化

标签 c# c#-4.0

在我的代码中,我像这样初始化日期时间

 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/

相关文章:

c# - 如何将 x.ToString() 传递到期望对象类型而不是仅仅 x 的方法中以防止装箱?

c# - 从 C# 背后的代码访问 HTML 控件

sql - Sql Select 查询中的多个日期范围

c# - DrawString自定义控件文本在winforms C#中不显示

c#-4.0 - 为什么当引用更改时,可变 StringBuilder 的行为类似于不可变字符串?

c# - 确定托管资源与非托管资源

c# - 如何使用代码优先 Entity Framework 指定外键

c# - 通过向下转换参数自动重载和调用函数

c# - Unity3D 中 Update() 循环方法内的执行顺序

asp.net-mvc-3 - System.ComponentModel.DataAnnotations 备忘单?