← C#

LESSON / ARTICLE

名前空間とusing

名前空間で型を整理する方法と、usingによる型名の参照を学びます。

名前空間とは

名前空間(namespace)は、関連する型をグループ化し、同じ名前の型が衝突するのを避ける仕組みです。たとえば、List<T>はSystem.Collections.Generic名前空間に属します。

usingで型名を短くする

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> values = new List<int> { 3, 1, 4 };
        Console.WriteLine(values.Count);
    }
}

using System.Collections.Generic;を書くと、System.Collections.Generic.List<int>ではなくList<int>と書けます。usingはライブラリをダウンロードしたり、実行時に読み込んだりする命令ではありません。

完全修飾名

usingを使わず、名前空間を含む完全な名前で型を指定することもできます。

System.Collections.Generic.List<int> values = new();

自分の名前空間を定義する

namespace SampleApp.Models;

public class Player
{
    public string Name { get; set; } = "";
}

別のファイルからSampleApp.Models.Playerを使う場合は、using SampleApp.Models;を宣言するか、完全修飾名を使います。

この章で使うコレクション

List<T>、Dictionary<TKey, TValue>、HashSet<T>はいずれもSystem.Collections.Genericにあります。型名が見つからないときは、型の完全名と所属する名前空間を確認しましょう。