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;

EDIT : ( Karl-Johan Sjögrenのコメントに応えて) usingC# には、型のエイリアスを作成できる別の構造があります。このコンストラクトはクラス名を取りますが、次のように新しい名前を指定する必要があります。

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 に答える