ホームページ  >  記事  >  バックエンド開発  >  C# でのリスト

C# でのリスト

王林
王林オリジナル
2024-09-03 15:28:00608ブラウズ

C# のリストは、データの保存と取得において非常に重要な役割を果たします。以下は、C# の汎用リスト ( List ) に関する重要なポイントです。

  • リストは、厳密に型指定されたオブジェクトのリストであり、T はリスト内のオブジェクトの型を表します。
  • これはコレクションの下に存在します。汎用名前空間。
  • リストの要素にはインデックス番号を通じてアクセスでき、リスト内のインデックスは 0 から始まります。
  • リストのサイズは動的に変更できます。
  • リストの要素が参照型の場合、リストは null 値も受け入れることができます。
  • 要素の複製が可能です。

構文:

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>();

C# でリストを作成するには?

リストを操作するには< T >、まず、プログラムに System.Collections.Generic 名前空間をインポートする必要があります。

C# でリストを作成するには、次のような方法がたくさんあります。

  • List を使用してデフォルトの容量でリストを作成する< T >クラス コンストラクター。

例:

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);

C# でのリストのメソッドと例

次に、List クラスのいくつかの重要なメソッドについて説明します。

1.追加( T )

このメソッドは、リストの最後にオブジェクトを追加するために使用されます。参照型に 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);
}
}
}

出力:

C# でのリスト

2.クリア()

このメソッドは、リストからすべての要素を削除するために使用されます。

例:

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");
}
}

出力:

C# でのリスト

3. Insert( Int32, T )

このメソッドは、リスト内の指定された位置に要素を挿入するために使用されます。 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);
}
}
}

出力:

C# でのリスト

4. RemoveAt( Int32 )

このメソッドは、リストから指定された位置にある項目を削除するために使用されます。

例:

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);
}
}
}

出力:

C# でのリスト

5.並べ替え()

このメソッドは、デフォルトの比較子を使用してリストの要素を並べ替えるのに使用されます。

例:

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);
}
}
}

出力:

C# でのリスト

上記のプログラムでは、まず 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);
}
}

出力:

C# でのリスト

結論

リスト指定された型の要素の汎用コレクションです。リストの要素には、「for」または「foreach」ループを使用してインデックス番号を通じてアクセスできます。追加、挿入、検索、並べ替えなど、リストに対して多くの操作を実行できます。リストのサイズは動的です。

以上がC# でのリストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。