名前空間は、名前のグループを他の名前から分離する方法を提供するように設計されています。ある名前空間で宣言されたクラスの名前は、別の名前空間で宣言された同じクラスの名前と競合しません。
名前空間を定義する
以下に示すように、名前空間の定義はキーワード namespace で始まり、その後に名前空間の名前が続きます:
namespace namespace_name
{
// 代码声明
}名前空間のバージョンをサポートする関数または変数を呼び出すには、以下に示すように、名前空間は前に配置されます:
namespace_name.item_name;
次のプログラムは、名前空間の使用法を示します:
using System;
namespace first_space
{
class namespace_cl
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space
{
class namespace_cl
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
class TestClass
{
static void Main(string[] args)
{
first_space.namespace_cl fc = new first_space.namespace_cl();
second_space.namespace_cl sc = new second_space.namespace_cl();
fc.func();
sc.func();
Console.ReadKey();
}
}上記のコードをコンパイルして実行すると、次の結果が生成されます:
Inside first_space Inside second_space
using キーワード
usingキーワードは、プログラムが指定された名前空間の名前を使用していることを示します。たとえば、プログラムでは System 名前空間を使用し、クラス Console が定義されています。次のように書くことができます:
Console.WriteLine ("Hello there");次のように完全修飾名を書くことができます:
System.Console.WriteLine("Hello there");また、using 名前空間ディレクティブを使用して、使用時に名前空間名をその前に追加する必要がないようにすることもできます。 。このディレクティブは、後続のコードで指定された名前空間の名前を使用することをコンパイラーに指示します。次のコードは、名前空間の適用を遅延させます。
using 仕様を使用して上記の例を書き直してみましょう:
using System;
using first_space;
using second_space;
namespace first_space
{
class abc
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space
{
class efg
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
class TestClass
{
static void Main(string[] args)
{
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}上記のコードがコンパイルされて実行されると、次の結果が生成されます:
Inside first_space Inside second_space
ネストされた名前空間
名前空間はネストできます。つまり、名前空間を定義できます。
namespace namespace_name1
{
// 代码声明
namespace namespace_name2
{
// 代码声明
}
}次のようにドット (.) 演算子を使用して、ネストされた名前空間のメンバーにアクセスできます:
using System;
using first_space;
using first_space.second_space;
namespace first_space
{
class abc
{
public void func()
{
Console.WriteLine("Inside first_space");
}
}
namespace second_space
{
class efg
{
public void func()
{
Console.WriteLine("Inside second_space");
}
}
}
}
class TestClass
{
static void Main(string[] args)
{
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}上記のコードがコンパイルされ、実行されると、次の結果が生成されます:
Inside first_space Inside second_space












![PHP 実践開発入門: PHP クイック作成 [中小企業フォーラム]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)









