5
using System.Text.RegularExpressions;
using System.DateTime; 

DateTime returnedDate = DateTime.Now();

它给了我错误:

A using namespace directive can only be applied to namespaces; 
'System.DateTime' is a type not a namespace (line 1, pos 1)

我的错误在哪里?

4

6 回答 6

15

我的错误在哪里?

是这里:using System.DateTime;

DateTimeSystem命名空间内的类,而不是命名空间。在 C# 中,您只能将using指令应用于命名空间。添加using XYZ到您的程序中,您可以从该命名空间XYZ内的类中省略命名空间前缀 - 例如,引用XYZ.ABC您可以编写的类ABC。但是,该using目录不会下降到类级别(这与 Java 的导入目录相反,其中.*名称的末尾是可选的)。

通过替换来解决此using System.DateTime;问题using System;

编辑:(回应Karl-Johan Sjögren的评论)C# 中有另一个using构造可以让您创建类型的别名。此构造采用类名,但需要您为它们指定一个新名称,如下所示:

using DT = System.DateTime;

现在您可以使用DT.System.DateTime

于 2013-07-17T10:49:53.117 回答
6
using System; 

DateTime returnedDate = DateTime.Now();
于 2013-07-17T10:50:27.370 回答
3

您应该像这样使用命名空间:

using system;

或者这种方式不使用命名空间:

System.DateTime returnedDate = System.DateTime.Now();
于 2013-07-17T10:49:56.100 回答
1
using System; 

 DateTime returnedDate = DateTime.Now();
于 2013-11-20T10:39:26.813 回答
0

在 C# 6 中你可以做

using static System.DateTime;

var now = Now;
于 2017-04-27T06:27:08.657 回答
0

DateTime 是一种类型,这意味着它是一个类。C# 关键字“using”只能与命名空间一起使用。所以为了在你的代码中使用 DateTime 类,你不需要这样写。

using System.DateTime;

而不是写上面的行,像这样简单地包含系统命名空间。

using System;

并在代码中使用 DateTime 类。

于 2017-04-27T06:19:06.310 回答