在声明之前不能使用局部变量DateTime?

Gaš*_*dič 1 c# datetime compiler-errors

我想在Main方法的Console应用程序中获取当前的DateTime,但是我得到编译器错误"在声明之前不能使用局部变量DateTime".以下是代码的一部分......

static void Main(string[] args)
{
       StringBuilder RequestString = new StringBuilder();
       string MachineID = "17";
       DateTime CT = DateTime.Now;
       string DateTime = CT.ToShortDateString();
       RequestString.Append(MachineID);
       RequestString.Append("|");
       RequestString.Append(DateTime);
       RequestString.Append("|");
}
Run Code Online (Sandbox Code Playgroud)

Kam*_*ski 11

更改:

string DateTime = CT.ToShortDateString();
Run Code Online (Sandbox Code Playgroud)

至:

string dateTime = CT.ToShortDateString();
Run Code Online (Sandbox Code Playgroud)

你不能DateTime用作变量名.

编辑:因为@ user2864740提到的错误是因为变量DateTime是阴影DateTime类型而编译器认为OP是Now在字符串变量上调用属性DateTime

  • Nit:`DateTime`*是一个有效的变量名,即使是不明智的.这里的问题是变量在表达式"DateTime.Now"中隐藏了Type(但是使用完全限定的类型名称也可以工作,即使是不明智的). (5认同)