C# 无法在声明局部变量DateTime之前使用它?
我想在Main方法的控制台应用程序中获取当前日期时间,但我得到编译器错误“不能在声明局部变量DateTime之前使用它”。下面是代码的一部分C# 无法在声明局部变量DateTime之前使用它?,c#,datetime,compiler-errors,C#,Datetime,Compiler Errors,我想在Main方法的控制台应用程序中获取当前日期时间,但我得到编译器错误“不能在声明局部变量DateTime之前使用它”。下面是代码的一部分 static void Main(string[] args) { StringBuilder RequestString = new StringBuilder(); string MachineID = "17"; DateTime CT = DateTime.Now; string DateTi
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("|");
}
更改:
string DateTime = CT.ToShortDateString();
致:
不能将DateTime
用作变量名
编辑:
因为错误是因为变量DateTime
正在隐藏DateTime
类型,并且编译器认为OP现在正在调用字符串变量DateTime
的属性
string DateTime = CT.ToShortDateString();
致:
不能将DateTime
用作变量名
编辑:
as错误是因为变量DateTime
正在隐藏DateTime
类型,并且编译器认为OP现在正在调用字符串变量DateTime
上的属性,这一行是错误的
string DateTime = CT.ToShortDateString();
您没有给它一个局部变量名,如:
string ctShortDate = CT.ToShortDateString();
这条线错了
string DateTime = CT.ToShortDateString();
您没有给它一个局部变量名,如:
string ctShortDate = CT.ToShortDateString();
为什么使用DateTime作为变量名?
我认为这不是一个好的做法
DateTime CT = DateTime.Now;
string currentdate = CT.ToShortDateString();
为什么使用DateTime作为变量名?
我认为这不是一个好的做法
DateTime CT = DateTime.Now;
string currentdate = CT.ToShortDateString();
您不能在使用类DateTime
的同一行中声明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("|");
}
您不能在使用类DateTime
的同一行中声明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("|");
}
Nit:DateTime
是一个有效的变量名,即使是不明智的。这里的问题是变量在表达式DateTime.Now
中隐藏了类型(但是使用完全限定的类型名也可以,即使是不明智的)。Nit:DateTime
是有效的变量名,即使是不明智的。这里的问题是,变量在表达式DateTime.Now
中隐藏了类型(但是使用完全限定的类型名也可以,即使是不明智的)。