.NETヘルプ C# List (開発者向けの仕組み) Curtis Chau 更新日:7月 28, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article リストは、C#でデータのコレクションを保存および操作するために使用される、多才で動的なデータ構造です。 これらは System.Collections.Generic 名前空間の一部であり、強力で型安全なコレクションクラスと強く型付けされたオブジェクトを提供します。 この初心者向けのチュートリアルでは、C# リストの使用方法の基本を説明し、要素の作成/追加、指定されたインデックスまたは最初の出現のアクセス、指定された要素の変更、要素の削除、および一般的な使用例を含みます。 リストの作成 List クラスを使用し始めるには、最初にSystem.Collections.Generic 名前空間をコードに含める必要があります。 using System.Collections.Generic; using System.Collections.Generic; Imports System.Collections.Generic $vbLabelText $csharpLabel ジェネリック名前空間を追加した後、角括弧 (< >) の中に格納したいすべての要素のデータ型を指定することで新しい List オブジェクトを作成します。 整数のリストを作成する方法の例を次に示します。 List<int> numbers = new List<int>(); List<int> numbers = new List<int>(); Dim numbers As New List(Of Integer)() $vbLabelText $csharpLabel また、初期値でリストを初期化するか、このように指定されたコレクションによって定義することもできます。 List<string> fruits = new List<string> { "apple", "banana", "cherry" }; List<string> fruits = new List<string> { "apple", "banana", "cherry" }; Dim fruits As New List(Of String) From {"apple", "banana", "cherry"} $vbLabelText $csharpLabel リストのデフォルトの初期容量を指定することもできます。指定された初期容量は、そのリストのデフォルトの最大容量です。 リストのメソッド リストへの要素数の追加 List に要素を追加するには、Add() メソッドを使用します。 numbers.Add(1); // Adds first element numbers.Add(2); numbers.Add(3); numbers.Add(1); // Adds first element numbers.Add(2); numbers.Add(3); numbers.Add(1) ' Adds first element numbers.Add(2) numbers.Add(3) $vbLabelText $csharpLabel 指定されたコレクションからリストに要素の範囲を追加するには、AddRange メソッドを使用します。 List<int> moreNumbers = new List<int> { 4, 5, 6 }; numbers.AddRange(moreNumbers); List<int> moreNumbers = new List<int> { 4, 5, 6 }; numbers.AddRange(moreNumbers); Dim moreNumbers As New List(Of Integer) From {4, 5, 6} numbers.AddRange(moreNumbers) $vbLabelText $csharpLabel リスト要素へのアクセス 配列と同様に、インデックスを使用してリストの個々の要素にアクセスできます。 string firstFruit = fruits[0]; // "apple" string secondFruit = fruits[1]; // "banana" string firstFruit = fruits[0]; // "apple" string secondFruit = fruits[1]; // "banana" Dim firstFruit As String = fruits(0) ' "apple" Dim secondFruit As String = fruits(1) ' "banana" $vbLabelText $csharpLabel リストは0ベースのインデックスであることに注意してください。そのため、最初の要素のインデックスは0です。上記の例では、要素が存在する場合、その要素は文字列に格納されます。 リスト要素の変更 リストの要素を変更するには、単に目的のインデックスの要素に新しい値を割り当てます。0ベースのインデックスであることを忘れないでください。 fruits[1] = "blueberry"; fruits[1] = "blueberry"; fruits(1) = "blueberry" $vbLabelText $csharpLabel 今や、フルーツリストの2番目の要素は「バナナ」ではなく「ブルーベリー」です。 リストから要素の削除 リストから要素を削除するには、Remove メソッドを使用し、指定された要素の最初の出現を削除します。 fruits.Remove("apple"); fruits.Remove("apple"); fruits.Remove("apple") $vbLabelText $csharpLabel または、RemoveAt メソッドを使用して、指定されたインデックスの要素を削除することもできます。 fruits.RemoveAt(0); fruits.RemoveAt(0); fruits.RemoveAt(0) $vbLabelText $csharpLabel リストからすべての要素を削除するには、Clear メソッドを使用します。 fruits.Clear(); fruits.Clear(); fruits.Clear() $vbLabelText $csharpLabel リストの要素の検索 リストに特定の要素が含まれているかどうかを確認するには、Contains() メソッドを使用します。 bool containsApple = fruits.Contains("apple"); // true bool containsApple = fruits.Contains("apple"); // true Dim containsApple As Boolean = fruits.Contains("apple") ' true $vbLabelText $csharpLabel 要素の最初の出現のインデックスを検索するには、IndexOf メソッドを使用します。 int appleIndex = fruits.IndexOf("apple"); // 0 int appleIndex = fruits.IndexOf("apple"); // 0 Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0 $vbLabelText $csharpLabel 要素が見つからない場合、IndexOf は -1 を返します。 リストをループ処理 リスト内の要素を繰り返し処理するには、foreach ループを使用できます。 foreach (string fruit in fruits) { Console.WriteLine(fruit); } foreach (string fruit in fruits) { Console.WriteLine(fruit); } For Each fruit As String In fruits Console.WriteLine(fruit) Next fruit $vbLabelText $csharpLabel また、リスト内の要素数を返す Count プロパティを使用した for ループを使用することもできます。 for (int i = 0; i < fruits.Count; i++) { Console.WriteLine(fruits[i]); } for (int i = 0; i < fruits.Count; i++) { Console.WriteLine(fruits[i]); } For i As Integer = 0 To fruits.Count - 1 Console.WriteLine(fruits(i)) Next i $vbLabelText $csharpLabel リストの並べ替え リストを昇順に並べ替えるには、Sort メソッドを使用します。 List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 }; unsortedNumbers.Sort(); // Now, unsortedNumbers is { 1, 2, 4, 5, 8 } List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 }; unsortedNumbers.Sort(); // Now, unsortedNumbers is { 1, 2, 4, 5, 8 } Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4} unsortedNumbers.Sort() ' Now, unsortedNumbers is { 1, 2, 4, 5, 8 } $vbLabelText $csharpLabel カスタム比較を使用して、Sort メソッドを使用してリストを降順に並べ替えることができます。 unsortedNumbers.Sort((a, b) => b.CompareTo(a)); // Now, unsortedNumbers is { 8, 5, 4, 2, 1 } unsortedNumbers.Sort((a, b) => b.CompareTo(a)); // Now, unsortedNumbers is { 8, 5, 4, 2, 1 } unsortedNumbers.Sort(Function(a, b) b.CompareTo(a)) ' Now, unsortedNumbers is { 8, 5, 4, 2, 1 } $vbLabelText $csharpLabel より複雑なソートには、カスタムIComparerクラスを実装するか、LINQ(Language Integrated Query)を使用できます。 二分探索アルゴリズムは、ソートされたリストに適用されます。 リストと LINQ を組み合わせて使用する LINQ を使用すると、リストを含むコレクションに強力なクエリと変換を実行できます。 LINQ を使用するには、最初にSystem.Linq 名前空間をコードに含める必要があります。 using System.Linq; using System.Linq; Imports System.Linq $vbLabelText $csharpLabel ここに、リスト上のLINQクエリのいくつかの例があります。 リストのフィルタリング List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList(); List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList(); Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList() $vbLabelText $csharpLabel リスト内の要素をマッピング(変換) List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList(); List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList(); Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList() $vbLabelText $csharpLabel リスト内の最小および最大値の検索 int minValue = numbers.Min(); int maxValue = numbers.Max(); int minValue = numbers.Min(); int maxValue = numbers.Max(); Dim minValue As Integer = numbers.Min() Dim maxValue As Integer = numbers.Max() $vbLabelText $csharpLabel リストを配列に変換 リストを配列に変換するには、ToArray メソッドを使用できます。 int[] numbersArray = numbers.ToArray(); int[] numbersArray = numbers.ToArray(); Dim numbersArray() As Integer = numbers.ToArray() $vbLabelText $csharpLabel IronPDF を使用してリスト データを PDF にエクスポートする このセクションでは、IronPDF ライブラリを使用してリスト内のデータをPDFファイルにエクスポートする方法を示します。 これは、レポートやデータの印刷可能なバージョンを生成したいときに便利です。 まず、IronPDF NuGet パッケージをプロジェクトにダウンロードしてインストールします。 Install-Package IronPdf 次に、コードにIronPdf名前空間を含めます。 using IronPdf; using IronPdf; Imports IronPdf $vbLabelText $csharpLabel 次に、文字列のListをHTMLテーブルに変換し、その後それをPDFファイルにエクスポートする簡単な関数を作成しましょう。 using System.Collections.Generic; using System.Text; using IronPdf; void ExportListToPdf(List<string> data, string pdfFilePath) { // Create an HTML table from the list data StringBuilder htmlBuilder = new StringBuilder(); htmlBuilder.Append("<table><tr><th>Item</th></tr>"); foreach (string item in data) { htmlBuilder.Append($"<tr><td>{item}</td></tr>"); } htmlBuilder.Append("</table>"); // Convert the HTML table to a PDF using IronPDF var renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF to the specified file path pdf.SaveAs(pdfFilePath); } using System.Collections.Generic; using System.Text; using IronPdf; void ExportListToPdf(List<string> data, string pdfFilePath) { // Create an HTML table from the list data StringBuilder htmlBuilder = new StringBuilder(); htmlBuilder.Append("<table><tr><th>Item</th></tr>"); foreach (string item in data) { htmlBuilder.Append($"<tr><td>{item}</td></tr>"); } htmlBuilder.Append("</table>"); // Convert the HTML table to a PDF using IronPDF var renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF to the specified file path pdf.SaveAs(pdfFilePath); } Imports System.Collections.Generic Imports System.Text Imports IronPdf Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String) ' Create an HTML table from the list data Dim htmlBuilder As New StringBuilder() htmlBuilder.Append("<table><tr><th>Item</th></tr>") For Each item As String In data htmlBuilder.Append($"<tr><td>{item}</td></tr>") Next item htmlBuilder.Append("</table>") ' Convert the HTML table to a PDF using IronPDF Dim renderer = New ChromePdfRenderer() Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()) ' Save the PDF to the specified file path pdf.SaveAs(pdfFilePath) End Sub $vbLabelText $csharpLabel この関数を使用するには、リストとPDFファイルのパスを指定して呼び出します。 List<string> fruits = new List<string> { "apple", "banana", "cherry" }; ExportListToPdf(fruits, "Fruits.pdf"); List<string> fruits = new List<string> { "apple", "banana", "cherry" }; ExportListToPdf(fruits, "Fruits.pdf"); Dim fruits As New List(Of String) From {"apple", "banana", "cherry"} ExportListToPdf(fruits, "Fruits.pdf") $vbLabelText $csharpLabel これにより、IronPDF で HTML を PDF に変換 することによって、フルーツのリストを含むテーブルを持つ「Fruits.pdf」という名前の PDF ファイルが生成されます。 必要に応じて、HTMLテーブルにカスタムスタイリングを追加したり、PDFに追加コンテンツを追加したりすることで、ExportListToPdf関数を修正できます。 結論 この初心者向けチュートリアルでは、C# リストの基本を説明し、IronPDF と統合してリスト データを PDF ファイルにエクスポートする方法を示しました。 IronPDF をプロジェクトに組み込むことで、C# プロジェクトからレポート、請求書、その他の印刷可能な文書を簡単に生成できます。 IronPDF は無料トライアルを提供しており、購入前にその機能をテストできます。 よくある質問 C#でリストを作成する方法は? C#でリストを作成するには、System.Collections.Generic名前空間を含める必要があります。その後、山括弧内にデータ型を指定してリストを宣言できます。例:List numbers = new List(); C#リストに要素を追加するための方法は何ですか? C#リストに要素を追加するには、個々の要素を追加する場合はAdd()メソッドを使用し、要素のコレクションを追加する場合はAddRange()を使用します。 C#リストをPDFファイルにエクスポートする方法は? C#リストをPDFファイルにエクスポートするには、IronPDFライブラリを使用できます。リストデータをHTML表形式に変換し、その後IronPDFを使用してPDFとしてレンダリングします。 C#リストをソートする最良の方法は何ですか? C#リストを昇順でソートするにはSort()メソッドを使用できます。降順でソートするには、カスタム比較デリゲートを使用してSort()を使用できます。 C#リストの要素にアクセスする方法は? C#リストの要素は、配列と同様に、そのインデックスを使用してアクセスできます。リストはゼロベースのインデックス付けがされているので、リストの位置を使用して要素を取得できます。 C#リストから要素を削除するためのオプションは何ですか? 特定の要素を削除するにはRemove()メソッドを、特定のインデックスを削除するにはRemoveAt()、すべての要素を削除するにはClear()を使用できます。 C#リストでLINQをどのように活用できますか? LINQは、C#リストで強力なクエリと変換を行うために使用できます。フィルタリング、マッピング、最小値や最大値を効率的に見つけるなどです。 C#でリストを配列に変換する方法は? C#リストを配列に変換するには、リストの要素を含む新しい配列を作成するToArray()メソッドを使用できます。 C#リストの一般的な使用例は何ですか? C#リストは、データの動的なコレクションを管理したり、LINQを使用して複雑なクエリを行ったり、IronPDFのようなライブラリを使用してレポートや文書を生成するのに一般的に使用されます。 C#リストの要素を反復する方法は? C#リストの要素を反復するには、単純な反復にはforeachループを使用し、インデックスが必要な場合はforループを使用します。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む 更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む C# This (開発者向けの仕組み)Visual Studioとは何か (開発...
更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む
更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む