このように追加することの違いは何ですかSystem.Net
:
CookieContainer globalcontainer = new System.Net.CookieContainer();
宣言で名前空間なしでクラスを使用する
CookieContainer globalcontainer = new CookieContainer();
効率が良いのはどっち?
このように追加することの違いは何ですかSystem.Net
:
CookieContainer globalcontainer = new System.Net.CookieContainer();
宣言で名前空間なしでクラスを使用する
CookieContainer globalcontainer = new CookieContainer();
効率が良いのはどっち?
どちらもより効率的ではありません。1 つは名前空間を明示的に指定する方法で、もう 1 つは暗黙的に指定する方法です。
.cs ファイルの先頭にある using ディレクティブは、名前空間をインポートします。つまり、これらの名前空間の型は、コードで認識されるために完全修飾パスを必要としません。
例えば
List<T>
... に表示されSystem.Collections.Generic
ます。この名前空間の using ディレクティブがない場合は、完全修飾名を使用する必要があります。
System.Collections.Generic.List<int> someList;
それに対して、あなたはしません
using System.Collections.Generic;
List<int> someList;
名前空間の競合が発生する場合があります。次のシナリオを想像してください。
Some.Namespace.Task
Some.Othernamespace.Task
両方の名前空間をインポートする場合:
using Some.Namespace;
using Some.Othernamespace;
Task someTask; // <--- this line will cause a compile time error
コンパイラはTask
、Some.Namespace からの 1 つと Some.Othernamespace からの 1 つのどちらが必要かを認識しません。この場合、具体的に指定して完全な名前空間を指定する (またはエイリアスを使用する) 必要があります。
お役に立てれば
ここで名前空間についてすべて読んでください:
http://msdn.microsoft.com/en-gb/library/z2kcy19k(v=vs.80).aspx