●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

クラスの整理に便利な「namespace(名前空間)」とは?

C#の namespace(名前空間) は、クラス・構造体・列挙体・インターフェース・デリゲート などをグループ化して整理する仕組みです。
名前が重なったときにも、区別(スコープ分け)ができるため、規模が大きいプログラムでは特に重要です。

基本構文

namespace 名前空間名 {
    // クラスやその他の型
    public class クラス名 {
        // メンバー定義
    }
}
    

例:MyAppという名前空間の中にクラスを定義

namespace MyApp {
    public class Person {
        public string Name;
    }
}
    

他のファイルや名前空間から使うには?

using MyApp;

class Program {
    static void Main() {
        Person p = new Person();  // MyApp.Person を省略して使える
    }
}
    

フルネームでの利用(usingなし)

MyApp.Person p = new MyApp.Person();
    

名前の重複を防げる

namespace A {
    public class Sample {
        public void Show() => Console.WriteLine("AのSample");
    }
}

namespace B {
    public class Sample {
        public void Show() => Console.WriteLine("BのSample");
    }
}

class Program {
    static void Main() {
        A.Sample a = new A.Sample();
        B.Sample b = new B.Sample();
        a.Show();  // → AのSample
        b.Show();  // → BのSample
    }
}
    

ネストされた名前空間

namespace MyApp.Utilities.Text {
    public class TextHelper {
        public static void Format() { }
    }
}
    

C# 10 以降の簡略構文(file-scoped namespace)

1ファイル1名前空間なら、次のように書くこともできます:

namespace MyApp.Services;

public class AuthService {
    // ...
}
    

まとめ

namespace(名前空間)は、関連するクラスや機能をグループ化し、他と区別するための仕組みです。
usingと組み合わせることで、コードの可読性と拡張性を高めることができます。
名前の衝突を避けるためにも、プロジェクトや機能ごとに名前空間を整理する習慣をつけましょう!