English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
List<T>は強いタイプのオブジェクトの集合であり、インデックスを通じてアクセスでき、リストのソート、検索、および修正に使用されるメソッドを持ちます。それはSystem.Collection.Generic名前空間のArrayListの汎用版です。
List<T>はArrayListと同等であり、IList<T>を実装しています。
それはSystem.Collection.Generic名前空間下にあります。
List<T>は指定されたタイプの要素を含むことができます。それはコンパイル時のタイプチェックを提供し、バインディングを実行しません。/箱を開ける、それは汎用のものだから。
Add()、AddRange()メソッドまたはcollectionを使用して追加できます。-initializer(コレクション初期値設定子)文法で要素を追加
インデックスを介して要素にアクセスできます、例えばmyList[0]。インデックスは0から始まります。
List<T>はArrayListよりも実行速度が速く、エラーが少ないです。
List<T>はジェネリックコレクションであり、したがって、格納できるデータのデータ型の型引数を指定する必要があります。以下の例では、リストの作成と要素の追加方法が示されています。
List<int> primeNumbers = new List<int>(); primeNumbers.Add(1); // add()メソッドを使用して要素を追加 primeNumbers.Add(3); primeNumbers.Add(5); primeNumbers.Add(7); var cities = new List<string>(); cities.Add("New York"); cities.Add("London"); cities.Add("Mumbai"); cities.Add("Chicago"); cities.Add(null);// 参照型リストはnullを許可します //collection-initializer文法で要素を追加 var bigCities = new List<string>() { "New York", "London", "Mumbai", "Chicago" });
上記の例では、
List<int> primeNumbers = new List<int>();
int型のリストを作成。同様に、citiesおよびbigcityはstring型のListです。add()メソッドやコレクション初期値設定子を使用して、リストに要素を追加できます。
コレクション初期値設定子(collection-initializer)文法でカスタムクラスの要素を追加。以下の例では、List<Student>にStudentクラスのオブジェクトを追加しています。
var students = new List<Student>() { new Student(){ Id = 1, Name="Bill"}, new Student(){ Id = 2, Name="Steve"}, new Student(){ Id = 3, Name="Ram"}, new Student(){ Id = 4, Name="Abdul" });
AddRange()メソッドを使用して、配列や別の集合のすべての要素をListに追加します。
AddRange()のシグネチャ:
void AddRange(IEnumerable<T> collection)
string[] cities = new string[3]{ "Mumbai", "London", "New York" }; var popularCities = new List<string>(); // リストに配列を追加 popularCities.AddRange(cities); var favouriteCities = new List<string>(); // リストを追加 favouriteCities.AddRange(popularCities);
インデックス、for/foreachループとLINQクエリを使用してリストにアクセスします。リストのインデックスは0から始まります。インデックスを括弧内に渡して単一のリスト要素にアクセスします。配列と同様にforeachまたはforループを使用してList<T>コレクションをイテレートします。
List<int> numbers = new List<int>() { 1, 2, 5, 7, 8, 10 }); Console.WriteLine(numbers[0]); // 版画1 1] // 版画2 2] // 版画5 3] // 版画7 // 使用foreach LINQメソッド numbers.ForEach(num => Console.WriteLine(num + ", "));//印刷1、2、5、7、8、10、 // 使用forループ for(int i = 0; i < numbers.Count; i++) Console.WriteLine(numbers[i]);
List<T>はIEnumerableインターフェースを実装しています。したがって、リストをクエリするためにLINQクエリ文法またはメソッド文法を使用できます。以下のように示されます。
var students = new List<Student>() { new Student(){ Id = 1, Name="Bill"}, new Student(){ Id = 2, Name="Steve"}, new Student(){ Id = 3, Name="Ram"}, new Student(){ Id = 4, Name="Abdul" }); //Billという名前の全ての学生を取得する var result = from s in students where s.Name == "Bill" select s; foreach(var student in result) Console.WriteLine(student.Id + " + student.Name);
このInsert()メソッドを使用して、List<T>指定のインデックス位置に要素を挿入します。
Insert() サイン:
void Insert(int index, T item);
var numbers = new List<int>(){ 10, 20, 30, 40 }; numbers.Insert(1, 11);// 最初のインデックスに挿入11、10その後。 foreach (var num in numbers) Console.Write(num);
Remove() メソッドを使用して、List<T> 集合に最初に出现する指定された要素を削除します。RemoveAt() メソッドを使用して指定されたインデックスから要素を削除します。指定されたインデックスに要素がない場合、ArgumentOutOfRangeException をスローします。
Remove() シグネチャ
bool Remove(T item)
RemoveAt() シグネチャ
void RemoveAt(int index)
var numbers = new List<int>(){ 10, 20, 30, 40, 10 }); numbers.Remove(10); // リストから削除10 numbers.RemoveAt(2); //第3つの要素(インデックスは0から始まる)を削除します //numbers.RemoveAt(10); //ArgumentOutOfRangeException をスローします foreach (var el in intList) Console.Write(el); // 出力 20 30
Contains() メソッドを使用して、要素が List<T> に存在するかどうかを確認します。
var numbers = new List<int>(){ 10, 20, 30, 40 }; numbers.Contains(10); // true を返します numbers.Contains(11); // false を返します numbers.Contains(20); // true を返します
以下の図は List<T> の階層構造を説明しています。
以下に重要な List<T> クラスの属性とメソッドを示します:
属性 | 使い方 |
---|---|
Items | 指定されたインデックスの要素を取得または設定します。 |
Count | List <T> に存在する要素の総数を返します。 |
メソッド | 使い方 |
---|---|
Add | List <T> の末尾に要素を追加します。 |
AddRange | 指定された集合の要素を List <T> の末尾に追加します。 |
BinarySearch | 要素を検索し、その要素のインデックスを返します。 |
Clear | List <T> からすべての要素を削除します。 |
Contains | 指定された要素が List <T> に存在するかどうかを確認します。 |
Find | 指定された述語関数に基づいて最初の要素を検索します。 |
Foreach | List <T> を巡回します。 |
Insert | List <T>の指定されたインデックス处に要素を挿入します。 |
InsertRange | 指定されたインデックス处に別の集合の要素を挿入します。 |
Remove | 指定された要素の最初の出现を削除します。 |
RemoveAt | 指定されたインデックス处的要素を削除します。 |
RemoveRange | 指定された条件に一致するすべての要素を削除します。 |
Sort | すべての要素に対してソートします。 |
TrimExcess | 実際の要素数に容量を設定します。 |
TrueForAll | 指定された条件に一致するかどうかをList <T>の各要素に対して確認します。 |