C# のリストは、データの保存と取得において非常に重要な役割を果たします。以下は、C# の汎用リスト ( List
構文:
List<T> list_name = new List<T>();
説明: 上記のステートメントでは List< T >は型 T の汎用リストです。ここで、T は int、string などの任意の型にすることができます。また、list_name はユーザーが指定したリストの名前です。 「 new 」キーワードを使用してリストを初期化します。
IList を使用してリストを作成することもできます< T >インターフェース:
などIList<T> list_name = new List<T>();
リストを操作するには< T >、まず、プログラムに System.Collections.Generic 名前空間をインポートする必要があります。
C# でリストを作成するには、次のような方法がたくさんあります。
例:
List<int> lstNum = new List<int>(); </p> <p>上記のステートメントは、デフォルトの容量を持つ整数のリストを作成します。リストの容量がユーザーによって定義されていない場合、項目がリストに追加されるたびにリストのサイズが増加します。</p> <p>ASP.NET トレーニング (9 コース、19 プロジェクト).NET トレーニング プログラム (5 コース、19 プロジェクト)</p> <ul> <li>Add() メソッドを使用してリストに項目を追加できます。</li> </ul> <p><strong>例:</strong></p> <pre class="brush:php;toolbar:false">lstNum.Add(1); lstNum.Add(2); lstNum.Add(3);
ユーザーが定義した容量を持つリストを作成します。
例:
List<string> lstString = new List<string>(3);
上記のステートメントは、容量 3 の文字列のリストを作成します。リストに 3 つ以上の要素が追加されると、容量は自動的に拡張されます。初期化中にリストに項目を追加することもできます。
List<string> lstString = new List<string>(3) { "Neha", "Shweta", "Megha" };
要素の別のコレクションを使用してリストを作成することもできます。
例:
//string array of names string[] names = {"Neha", "Shweta", "Megha"}; //creating list by using string array List<string> lstNames = new List<string>(names);
AddRange() メソッドを使用して、要素の別のコレクションをリストに追加できます。
例:
string[] names = {"Neha", "Shweta", "Megha"}; List<string> lstNames = new List<string>(); //adding elements of string array to list lstNames.AddRange(names);
次に、List クラスのいくつかの重要なメソッドについて説明します。
このメソッドは、リストの最後にオブジェクトを追加するために使用されます。参照型に null 値を追加できます。
例:
using System; using System.Collections.Generic; public class ListDemo { public static void Main() { List<int> lstNum = new List<int>(){1, 2, 3, 4}; //Adding 5 at the end of list lstNum.Add(5); foreach(int num in lstNum) { Console.WriteLine(num); } } }
出力:
このメソッドは、リストからすべての要素を削除するために使用されます。
例:
using System; using System.Collections.Generic; public class ListDemo { public static void Main() { List<int> lstNum = new List<int>(){1, 2, 3, 4, 5}; //removing all elements from the list lstNum.Clear(); if(lstNum.Count > 0) Console.WriteLine("List is not empty"); else Console.WriteLine("List is empty"); } }
出力:
このメソッドは、リスト内の指定された位置に要素を挿入するために使用されます。 2 つの引数を取ります。最初の引数は要素を挿入するインデックス番号で、2 番目の引数は要素自体です。
例:
using System; using System.Collections.Generic; public class ListDemo { public static void Main() { List<string> lstCities = new List<string>(){"Mumbai", "Pune", "Bengaluru"}; //inserting element at third position lstCities.Insert(2, "Chennai"); foreach(string city in lstCities) { Console.WriteLine(city); } } }
出力:
このメソッドは、リストから指定された位置にある項目を削除するために使用されます。
例:
using System; using System.Collections.Generic; public class ListDemo { public static void Main() { List<string> lstCities = new List<string>() {"Mumbai","Pune","Bengaluru"}; Console.WriteLine("Initial list values"); foreach(string city in lstCities) { Console.WriteLine(city); } //removing element at second position lstCities.RemoveAt(1); Console.WriteLine("\nAfter removing element at second position"); foreach(string city in lstCities) { Console.WriteLine(city); } } }
出力:
このメソッドは、デフォルトの比較子を使用してリストの要素を並べ替えるのに使用されます。
例:
using System; using System.Collections.Generic; public class ListDemo { public static void Main() { List<string> lstCities = new List<string>(){"Mumbai","Pune","Bengaluru"}; Console.WriteLine("Initial list values"); foreach(string city in lstCities) { Console.WriteLine(city); } //sorting elements in ascending order lstCities.Sort(); Console.WriteLine("\nList after sorting in ascending order"); foreach(string city in lstCities) { Console.WriteLine(city); } //sorting elements in descending order by calling Reverse() lstCities.Reverse(); Console.WriteLine("\nList after sorting in descending order"); foreach(string city in lstCities) { Console.WriteLine(city); } } }
出力:
上記のプログラムでは、まず Sort() を使用してリストを昇順にソートしました。ここでリストを降順に並べ替えるために、並べ替えられたリストに対して Reverse() メソッドを呼び出しました。 Sort() メソッドを使用して int 型、string 型などのリストを並べ替えることができますが、カスタム オブジェクト型のリストを並べ替えるには、IComparable インターフェイスを実装する必要があります。または、LINQ を使用することもできます。以下の例に示すように、このタイプのリストを別の方法で並べ替えることができます。
例:
using System; using System.Collections.Generic; public class Student { public string Name { get; set; } public int Marks { get; set; } public Student(string name, int marks) { Name = name; Marks = marks; } } public class ListDemo { public static void Main() { List<Student> lstStudents = new List<Student>(); lstStudents.Add(new Student("Neha", 90)); lstStudents.Add(new Student("John", 75)); lstStudents.Add(new Student("Kate", 88)); lstStudents.Add(new Student("Arya", 70)); //sorting students in ascending order of their marks lstStudents.Sort(CompareMarks); foreach (Student student in lstStudents) { Console.WriteLine(student.Name + ": " + student.Marks); } } public static int CompareMarks(Student student1, Student student2) { return student1.Marks.CompareTo(student2.Marks); } }
出力:
リスト指定された型の要素の汎用コレクションです。リストの要素には、「for」または「foreach」ループを使用してインデックス番号を通じてアクセスできます。追加、挿入、検索、並べ替えなど、リストに対して多くの操作を実行できます。リストのサイズは動的です。
以上がC# でのリストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。