2010-12-18 7 views
4

システムから時刻と日付を取得するにはなぜSystem.DateTime.Nowが必要ですか? ご覧のとおり、システムの名前空間はすでに一番上に宣言されています。私がDateTime.Nowを書くだけではうまくいきません。私たちは、「システムを使用して」宣言するならば、我々はそれがあなたの名前空間がすでにDateTimeと呼ばれているため.NETのDateTime

using System; 
using System.Text; 

namespace DateTime 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + System.DateTime.Now); 
     } 
    } 
} 

答えて

11

System.Console.WriteLineまたはSystem.DateTime.Nowなどを宣言するか、記述する必要はありませんことを以前学びました既存のクラス名と衝突します。だから、どちらかの可能性:

namespace DateTime 
{ 
    using System; 
    using System.Text; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + DateTime.Now); 
     } 
    } 
} 

またはあなたは私がやってあなたを推薦するものです名前空間の所有のためのより良い命名規則を見つける:あなたのプログラムのクラスは日時と呼ばれる名前空間にあるので

using System; 
using System.Text; 

namespace MySuperApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("The current date and time is " + DateTime.Now); 
     } 
    } 
} 
+0

あなたは今夜ダーリンです:) – alexn

+0

@alexn、ええ、それはビールのおかげです:-) –

+0

私は見る...ありがとう –

3

を。この競合は、コンパイラがあなたのネームスペースDateTimeでNowという名前の型を探すことを意味します。これは明らかに存在しません。

名前空間の名前を変更しても、問題は発生しません。