C# で多次元リストを宣言する
このチュートリアルでは、C# で多次元リストを宣言する方法について説明します。
C# で List<List<T>>
を使用して 2D リストを宣言する
残念ながら、C# で多次元リストを宣言するための組み込みメソッドはありません。したがって、この目的を達成するには、いくつかのユーザー定義のアプローチに依存する必要があります。C# では、List<List<T>>
という記法で、リストのリストを宣言することができます。T
はリスト内の変数のタイプを指定します。次のコード例は、C# で List<List<T>>
表記を使用して 2D リストを宣言する方法を示しています。
using System;
using System.Collections.Generic;
namespace multidimensional_list {
class Program {
static void Main(string[] args) {
List<List<string>> Person = new List<List<string>>();
for (int i = 0; i < 3; i++) {
List<string> Data = new List<string>();
Data.Add("Person ");
Data.Add("Description ");
Person.Add(Data);
}
foreach (var list in Person) {
foreach (var element in list) {
Console.Write(element);
}
Console.WriteLine();
}
}
}
出力:
Person Description
Person Description
Person Description
C# で List<List<string>>
表記を使用して文字列変数の 2D リスト Person
を宣言しました。リストにデータを入力するには、データを string
変数の別のリストに格納し、そのオブジェクトを Person.Add()
関数で Person
リストに追加する必要があります。入れ子のループでリストを出力しています。このメソッドの欠点は、2D 配列でのみ機能し、1つのデータ型の要素しか含めることができないことです。
C# のクラスのリストを使用して多次元リストを宣言する
複数のデータ型のリストを作成する場合は、C# でクラスオブジェクトのリストを宣言できます。ご存知のとおり、クラスには、さまざまなデータ型の複数の変数を含めることができます。次のコード例は、C# でオブジェクトのリストを作成して 2D リストを宣言する方法を示しています。
using System;
using System.Collections.Generic;
namespace multidimensional_list {
public class Person {
public string Name { get; set; }
public string Description { get; set; }
}
class Program {
static void Main(string[] args) {
List<Person> People = new List<Person>();
for (int i = 0; i < 3; i++) {
Person p = new Person();
p.Name = "Person ";
p.Description = "Description ";
People.Add(p);
}
foreach (var obj in People) {
Console.WriteLine(obj.Name);
Console.WriteLine(obj.Description);
}
}
}
出力:
Person
Description
Person
Description
Person
Description
C# で Person
クラスのリストを作成することにより、2D リスト People
を宣言しました。リストにデータを入力するには、データを Person
クラスのオブジェクトに格納してから、People.Add()
関数を使用してそのオブジェクトを People
リストに追加する必要があります。このアプローチでは、リストに異なるデータ型の複数の要素を含めることができます。
C# でタプルのリストを使用して多次元リストを宣言する
リストに複数のデータ型を使用したいが、すべての変数を格納するために別のクラスを作成したくない場合は、tuples のリストを宣言することもできます。C# では List<(T1, T2)>
という記法でタプルのリストを宣言することができます。T1
と T2
はそれぞれタプルの 1 番目と 2 番目の要素のデータ型です。
次のコード例は、C# でタプルのリストを使用して多次元リストを宣言する方法を示しています。
using System;
using System.Collections.Generic;
namespace multidimensional_list {
class Program {
static void Main(string[] args) {
List<(string, string)> Person = new List<(string, string)>();
for (int i = 0; i < 3; i++) {
Person.Add(("Person ", "Description "));
}
foreach (var list in Person) {
Console.WriteLine(list);
}
}
}
出力:
(Person , Description )
(Person , Description )
(Person , Description )
C# でタプルのリスト Person
を List<(string, string)>
表記で宣言しました。Person
リストにタプルの形式でデータを入力し、foreach
ループで表示します。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn