.NET ヘルプ

C# リスト (開発者向けの動作方法)

更新済み 6月 6, 2023
共有:

イントロダクション

リストは、C#でデータのコレクションを保存および操作するために使用される多用途で動的なデータ構造です。 リストは、強力で型安全なコレクションクラスや強い型付けされたオブジェクトを提供する System.Collections.Generic 名前空間の一部です。 初心者向けのこのチュートリアルでは、C# リストの基本的な使い方について説明します。要素の作成/追加、指定されたインデックスまたは最初の出現アクセス、指定された要素の変更、要素の削除、およびいくつかの一般的な使用例が含まれます。

リストの作成

List クラスを利用し始めるには、まずコードに System.Collections ジェネリック名前空間を含める必要があります。

using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
VB   C#

汎用的な名前空間を追加した後、角括弧内で格納したいすべての要素のデータ型を指定して新しいListオブジェクトを作成します。 (申し訳ありませんが、変換する英語のテキストが提供されていないようです。英語のテキストを提供していただければ、日本語に翻訳いたします。). 以下は、整数のリストを作成する方法の例です:

List numbers = new List();
List numbers = new List();
Dim numbers As New List()
VB   C#

次のように、初期値を持つリストや指定されたコレクションに基づいてリストに要素を挿入することもできます:

List fruits = new List { "apple", "banana", "cherry" };
List fruits = new List { "apple", "banana", "cherry" };
Dim fruits As New List From {"apple", "banana", "cherry"}
VB   C#

上記の例では、リストの初期容量のデフォルト値も指定できます。 指定された初期容量は、リストのデフォルトの最大容量です。

リストのメソッド

リストに要素の数を追加する

内部データ構造リストに要素を追加するには、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)
VB   C#

AddRange メソッドを使用して、指定されたコレクションの一連の要素をリストに追加することもできます。

List moreNumbers = new List { 4, 5, 6 };
numbers.AddRange(moreNumbers);
List moreNumbers = new List { 4, 5, 6 };
numbers.AddRange(moreNumbers);
Dim moreNumbers As New List From {4, 5, 6}
numbers.AddRange(moreNumbers)
VB   C#

リスト要素へのアクセス

配列と同様に、インデックスを使用してリストの各要素にアクセスできます。

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"
VB   C#

リストのインデックスはゼロベースであることに留意してくださいので、最初の要素のインデックスは0です。要素が存在する場合、上記の例はその要素を文字列に格納します。

リスト要素の変更

リストの要素を変更するには、ゼロベースのインデックスを念頭に置き、目的のインデックスに新しい値を割り当てるだけです。

fruits [1] = "blueberry";
fruits [1] = "blueberry";
fruits (1) = "blueberry"
VB   C#

現在、フルーツリストの2番目の要素は「バナナ」ではなく「ブルーベリー」です。

リストから要素を削除

リストから要素を削除するには、指定された要素の最初の出現を削除する Remove メソッドを使用できます:

fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
VB   C#

別の方法として、要素が存在する場合、指定されたインデックスの要素を削除するために RemoveAt メソッドを使用できます。

fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
VB   C#

リストからすべての要素を削除するには、Clearメソッドを使用します。

fruits.Clear();
fruits.Clear();
fruits.Clear()
VB   C#

リスト内の要素を見つける

次の内容を日本語に翻訳してください:

Containsメソッドと正規表現を使用することができます。() 特定の要素がリストに含まれているかを確認する方法:

bool containsApple = fruits.Contains("apple");      // true
bool containsApple = fruits.Contains("apple");      // true
Dim containsApple As Boolean = fruits.Contains("apple") ' true
VB   C#

要素が最初に出現するインデックスを見つけるには、IndexOf メソッドを使用します。

int appleIndex = fruits.IndexOf("apple");           // 0
int appleIndex = fruits.IndexOf("apple");           // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
VB   C#

要素が見つからない場合、IndexOfは -1 を返します。

リストをループする

リストの要素を反復処理するには、foreachループを使用できます。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
VB   C#

別の方法として、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
VB   C#

リストの並べ替え

リストを昇順に並べ替えるには、Sort メソッドを使用します。

List unsortedNumbers = new List { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();

// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
List unsortedNumbers = new List { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();

// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
Dim unsortedNumbers As New List From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()

' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
VB   C#

リストを降順で並べ替えるには、指定したカスタム比較述語デリゲートを使用して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 }
VB   C#

より複雑なソートの場合は、カスタム IComparer クラスを実装するか、LINQを使用することができます。 (統合言語クエリ). バイナリサーチアルゴリズムはソートされたリスト上で動作します。

リストでLINQを使用する

LINQを使用すると、リストを含むコレクションに対して強力なクエリや変換を実行できます。 LINQを使用するには、まずクラスプログラムコードに System.Linq 名前空間を含める必要があります。

using System.Linq;
using System.Linq;
Imports System.Linq
VB   C#

以下はリストに対するLINQクエリの例です:

リストのフィルタリング

List evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
List evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
Dim evenNumbers As List = numbers.Where(Function(x) x Mod 2 = 0).ToList()
VB   C#

リスト内の要素のマッピング(変換)

List fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
List fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
Dim fruitNamesUpperCase As List = fruits.Select(Function(x) x.ToUpper()).ToList()
VB   C#

リスト内の最小値および最大値を見つける方法

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()
VB   C#

リストを配列に変換する

リストを配列に変換するには、ToArrayメソッドを使用できます:

int [] numbersArray = numbers.ToArray();
int [] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
VB   C#

IronPDFを使用してリストデータをPDFにエクスポートする

このセクションでは、リストのデータをPDFファイルにエクスポートする方法をデモンストレーションします。 IronPDFライブラリ. これは、レポートやデータの印刷可能なバージョンを生成したい場合に役立ちます。

まず、IronPDF NuGetパッケージをプロジェクトにダウンロードしてインストールします。

Install-Package IronPdf

次に、コードに IronPdf 名前空間を含めます:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

では、文字列のListをHTMLテーブルに変換し、それをPDFファイルにエクスポートする単純な関数を作成しましょう:

using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List data, string pdfFilePath)
{
    // Create an HTML table from the list data
    StringBuilder htmlBuilder = new StringBuilder();
    htmlBuilder.Append("Item");

    foreach (string item in data)
    {
        htmlBuilder.Append($"{item}");
    }

    htmlBuilder.Append("");

    // Convert the HTML table to a PDF using IronPDF specified object
    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 IronPdf;
using System.Text;
void ExportListToPdf(List data, string pdfFilePath)
{
    // Create an HTML table from the list data
    StringBuilder htmlBuilder = new StringBuilder();
    htmlBuilder.Append("Item");

    foreach (string item in data)
    {
        htmlBuilder.Append($"{item}");
    }

    htmlBuilder.Append("");

    // Convert the HTML table to a PDF using IronPDF specified object
    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 IronPdf
Imports System.Text
Private Sub ExportListToPdf(ByVal data As List, ByVal pdfFilePath As String)
	' Create an HTML table from the list data
	Dim htmlBuilder As New StringBuilder()
	htmlBuilder.Append("Item")

	For Each item As String In data
		htmlBuilder.Append($"{item}")
	Next item

	htmlBuilder.Append("")

	' Convert the HTML table to a PDF using IronPDF specified object
	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
VB   C#

上記の例でこの機能を使用するには、リストと希望するPDFファイルのパスを指定して呼び出すだけです。

List fruits = new List { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
List fruits = new List { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
Dim fruits As New List From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")
VB   C#

これにより、デフォルトの容量の果物リストを含む表が「Fruits.pdf」という名前のPDFファイルとして生成されます。 HTMLをPDFに変換 以下の条件に一致します。 ExportListToPdf 関数を目的に合わせて変更できます。例えば、HTMLテーブルにカスタムスタイリングを追加したり、PDFに追加コンテンツを含めたりすることができます。

C# リスト(開発者向けの使用方法)図 1 - HTML から PDF へ

結論

この初心者向けチュートリアルでは、C#リストの基本を学び、IronPDFを使用してリストデータをPDFファイルにエクスポートする方法を示しました。プロジェクトにIronPDFを組み込むことにより、レポート、請求書、その他の印刷可能なドキュメントを簡単に生成することができます。

IronPDFは 無料試用購入を決定する前に、その機能をテストできるようにします。 試用期間終了後もIronPDFの使用を継続する場合、ライセンスは$749から始まり、ニーズに合わせた複数のライセンスオプションが用意されています。

< 以前
C# これは(開発者向けの作業方法)
次へ >
Visual Studioとは (開発者にとっての使い方)

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >