オプションはいくらでもありますが、部分的には 2D コレクションの実際の実装に依存します。
2D 配列だけが必要な場合は、そのための特別な構文があります。これは 2D 文字列配列です。
string[,] twoDimStringArray = new string[4,5];
別のオプションは、リストのリストを持つことです:
List<List<string>> listOfListOfString = new List<List<string>>();
ギザギザの配列を持つことができます:
string[][] arrayOfArraysOfString = new string[5][];
一般的に言えば、別のコレクション型を拡張するクラスを持つことはお勧めしません。通常、別の種類のコレクションをカプセル化することをお勧めします。クラス自体がコレクションとして公開されている場合はIEnumerable
、ICollection
、IList
、ISet
、 などの適切なさまざまなインターフェイスを使用します。
2 次元のインデックス付きリスト スタイルのコレクションがあるIList<IList<T>>
場合、これらのインターフェイスが提供する機能のレベルを公開したい場合は、おそらくクラスを 、または `ICollection> にすることができます (公開しない場合があります。より多くの文脈を知ること)。