usingキーワードには2つの使い方があります。
- using ディレクティブ(名前空間の使用)
- using ステートメント(IDisposableオブジェクトの破棄)
この記事ではusingディレクティブの使い方について説明していきます。
using ディレクティブ(directive)
usingディレクティブはusing をソースファイルの先頭(クラスの外側)に書いて、そのファイル(~.cs)内で使用する名前空間(namespace)を指定します。こんなのです。
using System; // 名前空間 System を使う
using System.IO; // 名前空間 System.IO を使う
usingを使うとそのソースファイル内でusingで指定した名前空間に属する型(クラス、構造体など)を使用する際に名前空間を省略して書くことができます。
class Program
{
public static void Main()
{
// usingで名前空間を指定しない場合、
// 名前空間.型名.メソッド名と書く必要がある
System.Console.WriteLine("usingなし");
}
}
using System; // 名前空間 System を使う
class Program
{
public static void Main()
{
// usingで名前空間を指定した場合は、
// 名前空間を省略して「型名.メソッド名」
Console.WriteLine("usingあり");
}
}
名前空間を別名(エイリアス)で使用する
名前空間に別名を付けてそのファイル内で使用することができます。
// using 別名 = 名前空間
using Sys = System;
class Program
{
public static void Main()
{
// 別名.型名.メソッド名 で呼び出す
Sys.Console.WriteLine("エイリアスを使用");
}
}
using static ディレクティブ(C#6から)
using static 名前空間.型名と指定すると、そのソースファイル内で名前空間.型名に属する静的(static)メンバーを使用するときに名前空間.型名を省略して書くことができます。
// using static 名前空間.型名
using static System.Console;
class Program
{
public static void Main()
{
// 名前空間.型名 を省略して、メソッド名だけで呼び出せる
WriteLine("using staticを使用");
}
}
コメント