名前空間やリソースを扱う「usingディレクティブ」とは?
C#の usingディレクティブ は、主に以下の2つの目的で使われます。
- 名前空間を読み込み、省略して使えるようにする
- リソースを安全に自動解放する(usingステートメント)
@ 名前空間の読み込み(usingディレクティブ)
using System;
using System.Collections.Generic;
usingディレクティブを使うと、System.Console.WriteLine()
のように長い名前空間を省略して、
Console.WriteLine()
と短く書けるようになります。
例:
using System;
class Program {
static void Main() {
Console.WriteLine("こんにちは!");
}
}
A リソースの自動解放(usingステートメント)
usingステートメントは、ファイルやデータベース接続などのリソースを使い終わった後、自動的に解放するために使います。
内部でIDisposable
インターフェースを実装しているオブジェクトに有効です。
構文
using (var resource = new ResourceType()) {
// リソースを使う処理
}
// ← 自動的にリソースが解放される
例:ファイルを読み込む
using (var reader = new StreamReader("data.txt")) {
string text = reader.ReadToEnd();
Console.WriteLine(text);
}
// readerはここで自動的に閉じられる
usingのまとめ
種類 |
役割 |
使用例 |
usingディレクティブ |
名前空間の省略 |
using System; |
usingステートメント |
リソースの自動解放 |
using (var sr = ...) |
注意点
- usingステートメントを使うには、IDisposable を実装している必要があります
- usingディレクティブはファイルの先頭に記述します
まとめ
usingディレクティブは、C#でよく使う名前空間を簡潔に書くためのキーワードです。
また、usingステートメントを使うことで、ファイルやネットワークなどのリソースを安全に管理できます。
どちらもC#プログラミングに欠かせない、非常に便利な機能です!