名前空間とは
名前空間(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にあります。型名が見つからないときは、型の完全名と所属する名前空間を確認しましょう。