C# では、アプリケーションを非常に簡単に処理できるように多くのクラスを編成するために名前空間が使用されます。これは、一連の名前を別の名前から分離しておくのに役立ちます。ある名前空間で宣言されたクラス名と、別の名前空間で宣言された同じクラス名とが競合することはできません。これにより、グループ内の階層システムを使用してコードを体系的に編成できます。階層システムを使用して、ネストされた名前空間を定義できます。コードを異なる名前空間に配置することで、コードを整理して保管できます。
名前空間は、識別子 (型名、機能、変数など) にスコープが与えられる記述領域です。名前空間は、特にさまざまなライブラリがコードベースに含まれている場合に、コードを論理グループに整理し、名前の衝突を防ぐために使用されます。
C# では、ルート名前空間はグローバル名前空間とみなされます。 global::System は、.Net Framework の名前空間「System」を定義します。 System.console は C# プログラムで使用できます。 System は名前空間として定義でき、Console はクラスと見なされます。デフォルトでは、.NET Framework はアプリケーションを簡単に実装するための多数の名前空間を提供します。
名前空間には以下のようなプロパティがいくつかあります:
名前空間は、キーワード namespace の後に namespace_name を続けることで定義できます。以下の構文は、C# プログラミング言語で名前空間を定義する方法を示しています。
namespace namespace_name { // body of namespace }
例:
namespace my_program_demo { class demo { public void myfunction() { // your code declarations } } }
上記のコード スニペットでは、my_program_demo は名前空間であり、そのメンバーとしてクラス デモが含まれており、myfunction() はデモ クラスのメソッドです。
名前空間のクラスには、指定された名前空間内のプログラムによって名前が使用されていることを指定するキーワードを使用してアクセスできます。このキーワードは、.NET アプリケーションで使用する関連クラスおよびメソッドへのアクセスを提供します。 using キーワードを使用すると、名前空間を定義せずにクラスを使用できます。
C# では、ドット演算子を使用して名前空間のメンバーにアクセスすることもできます。 (名前空間名.メンバー名)
例:
using System; namespace Demo { class DemoExample { static void Main(string[] args) { Console.WriteLine("Welcome to C# namespace..."); Console.ReadKey(); } } }
プログラムを実行する手順:
例:
using キーワード: 以下の例では、using キーワードの使用法を指定します。
using System; using first_demo; using second_demo; namespace first_demo { class myclass { public void func1() { Console.WriteLine("Helloworld....."); } } } namespace second_demo { class myclass1 { public void func2() { Console.WriteLine("Welcome to EDUCBA....."); } } } class DemoClass { static void Main(string[] args) { myclass cls = new myclass(); myclass1 cls1 = new myclass1(); cls.func1(); cls1.func2(); Console.ReadKey(); } }
上記のコードをコンパイルして実行すると、下の画像に示す結果が得られます。
ネストされた名前空間: ネストされた名前空間を作成するための構文は次のとおりです
namespace NamespaceDemo { namespace NestedNamespace { // code for nested namespace } }
The below example shows usage of nested namespaces: The members of a nested namespace can be accessed by using dot (.) operator:
using System; using first_demo; using first_demo.second_demo; namespace first_demo { class myclass { public void func1() { Console.WriteLine("Helloworld....."); } } namespace second_demo { class myclass1 { public void func2() { Console.WriteLine("This is example of nested namespace....."); } } } } class NestedNamespaceDemo { static void Main(string[] args) { myclass cls = new myclass(); myclass1 cls1 = new myclass1(); cls.func1(); cls1.func2(); Console.ReadKey(); } }
Compile and execute the above code, and you will get the result as shown in the image below:
以上がC# の名前空間の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。