ホームページ  >  記事  >  バックエンド開発  >  C# の名前空間

C# の名前空間

WBOY
WBOYオリジナル
2024-09-03 15:03:00933ブラウズ

C# では、アプリケーションを非常に簡単に処理できるように多くのクラスを編成するために名前空間が使用されます。これは、一連の名前を別の名前から分離しておくのに役立ちます。ある名前空間で宣言されたクラス名と、別の名前空間で宣言された同じクラス名とが競合することはできません。これにより、グループ内の階層システムを使用してコードを体系的に編成できます。階層システムを使用して、ネストされた名前空間を定義できます。コードを異なる名前空間に配置することで、コードを整理して保管できます。

名前空間は、識別子 (型名、機能、変数など) にスコープが与えられる記述領域です。名前空間は、特にさまざまなライブラリがコードベースに含まれている場合に、コードを論理グループに整理し、名前の衝突を防ぐために使用されます。

C# では、ルート名前空間はグローバル名前空間とみなされます。 global::System は、.Net Framework の名前空間「System」を定義します。 System.console は C# プログラムで使用できます。 System は名前空間として定義でき、Console はクラスと見なされます。デフォルトでは、.NET Framework はアプリケーションを簡単に実装するための多数の名前空間を提供します。

名前空間の概要

名前空間には以下のようなプロパティがいくつかあります:

  • 名前空間は、より大きなコード プロジェクトを整理するために使用されます。
  • 名前空間はドット (.) 演算子を使用して区切られます。
  • C# では、クラスの完全名は名前空間名で始まり、その後にドット演算子とクラス名が続きます。これはクラスの完全修飾名と呼ばれます。
  • ディレクティブ「using」により、クラスごとに名前空間の名前を指定する必要がなくなります。
  • ある名前空間で宣言されたクラス名は、別の名前空間で宣言された同じクラス名と競合しません。
  • グローバル名前空間はルート名前空間であり、global::System は .NET System 名前空間を参照します。

C# に名前空間が必要なのはなぜですか?

  • C# プログラムの名前空間は、プログラムを整理するのに役立ちます。これらの名前空間は、2 つのコード セット内の名前クラス間の衝突を回避するのにも役立ちます。
  • コードの一部を再利用したい場合は、独自のコードに名前空間を実装することをお勧めします。ファイル名またはディレクトリ名が名前空間に対応していません。これらが名前空間に対応している場合は、コードを整理するためにそうすることができます。
  • 名前空間は、よりクリーンなコードを作成し、より大きなプロジェクトを管理する上で重要な役割を果たします。
  • C# で名前空間を使用する主な目的は、.NET アプリケーションのコードの冗長性を減らすことです。簡単に言うと、名前空間はクラスのグループですが、クラスはオブジェクトとメソッドのコレクションです。名前空間を使用し、その名前空間をアプリケーションにインポートするだけで、すべてのクラス メソッドに簡単にアクセスできます。名前空間を使用すると、クラスのスコープとメソッドを管理できるようになります。名前空間が存在しない場合、同じ名前のクラスを複数使用することはできません。

C# で名前空間を定義するにはどうすればよいですか?

名前空間は、キーワード 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() はデモ クラスのメソッドです。

C# で名前空間にアクセスする方法?

名前空間のクラスには、指定された名前空間内のプログラムによって名前が使用されていることを指定するキーワードを使用してアクセスできます。このキーワードは、.NET アプリケーションで使用する関連クラスおよびメソッドへのアクセスを提供します。 using キーワードを使用すると、名前空間を定義せずにクラスを使用できます。

C# では、ドット演算子を使用して名前空間のメンバーにアクセスすることもできます。 (名前空間名.メンバー名)

例:

using System;
namespace Demo {
class DemoExample {
static void Main(string[] args) {
Console.WriteLine("Welcome to C# namespace...");
Console.ReadKey();
}
}
}

プログラムを実行する手順:

  • 次に示すように、Visual Studio IDE の代わりにコマンド ラインを使用して C# プログラムをコンパイルします。
  • テキスト エディターを開き、上記のコードを含めて、ファイルを DemoExample.cs として保存します
  • コマンド プロンプトを開き、ファイルが保存されているディレクトリに移動します。
  • 「csc DemoExample.cs」と入力し、Enter キーを押してコードをコンパイルします。
  • ディレクトリに移動すると、DemoExample.exe 実行可能ファイルが表示されます。
  • 「DemoExample」と入力してプログラムを実行すると、出力が画面に表示されます。

例:

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:

Conclusion

  • Using namespaces, c# programs are structured and use the directives to promote the use of namespaces. From this document, we can comprehend the need and use of namespaces in classes. Namespaces can also contain other types as their members, such as classes, interfaces, structures, enumerations, and delegates.
  • Namespaces are used as both an inner organizational system for a program and as an external organizational system to present program aspects exposed to other programs. It regulates the scope of methods and classes in bigger projects. Net programming. Namespaces are also used for solving the naming conflict problem.

以上がC# の名前空間の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:C# の変数次の記事:C# の変数