**namespace: **名前空間を作成します
**using: **reference、use: ここでは参照名前空間を指します。2 番目の関数がオブジェクトをインスタンス化すると、中括弧内のスペースはオブジェクトの実行直後に解放されます。IDisposable インターフェイスを実装する必要があるオブジェクトは、 using を使用してリソースを解放できます。
C# での名前空間の参照とは、コードを記述するときに using キーワードを使用して 1 つ以上の名前空間を参照し、その型をコード内で使用できるようにすることを指します。
C# では、using キーワードを使用して名前空間を参照できます。構文は次のとおりです。
using namespace;
ここで、namespace は参照するネームスペースの名前です。たとえば、System.Data.SqlClient 名前空間を参照するには、次のステートメントを使用できます。
using System.Data.SqlClient;
さらに、「*」を使用して、名前空間内のすべてのサブ名前空間を参照することもできます。たとえば、System.Data 内のすべてのサブ名前空間を参照するには、次のステートメントを使用できます。
using System.Data.*;
さらに、「as」キーワードを使用してエイリアスを指定できます。たとえば、System.Data.SqlClient 名前空間に別名 SQLClient を指定するには、次のステートメントを使用します。
using SQLClient = System.Data.SqlClient;
C# 名前空間 名前空間は、
一連の名前を他の名前から分離する方法を提供するように設計されています。ある名前空間で宣言されたクラスの名前は、別の名前空間で宣言された同じクラスの名前と競合しません。
ネームスペースの定義
ネームスペースの定義は、次のようにキーワード 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();
}
}
上記のコードをコンパイルして実行すると、次の結果が生成されます。
first_space
の内部 Second_space の内部
using キーワード
using キーワードは、プログラムが特定の名前空間内の名前を使用することを示します。たとえば、プログラムでは System 名前空間を使用し、ここで Console クラスが定義されています。次のように書くこともできます。
Console.WriteLine ("Hello there");
次のように完全修飾名を記述できます。
System.Console.WriteLine("Hello there");
using namespace ディレクティブを使用すると、使用時に名前空間名にプレフィックスを付ける必要がなくなります。このディレクティブは、後続のコードで指定された名前空間の名前を使用することをコンパイラーに指示します。次のコードは、名前空間の適用を遅延させます。
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();
}
}
上記のコードをコンパイルして実行すると、次の結果が生成されます。
first_space
の内部 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();
}
}