IRONSOFTWAREHOME
開発者向けアップデート

C#のリストを初期化する方法(開発者向けの仕組み)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 2026年4月21日

リストはSystem.Collections.Generic名前空間の一部であり、データのコレクションを処理するための柔軟性があります。 C#のリストは動的であり、実行時にサイズを変更できます。この柔軟性は、要素の数が事前にわからない多くのソフトウェアエンジニアリングシナリオで非常に役立ちます。 C#のリストを初期化するさまざまな方法を詳しく見てみましょう。 基本的なテクニック、オブジェクト初期化子構文、コレクション初期化子、IronPDFライブラリについて説明します。

基本的なリストの初期化

リストを初期化するには、リスト内の要素の型がstringですが、どの型でも使用できます。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Initialize an empty list
        List<string> fruits = new List<string>();
        
        // Adding elements to the list
        fruits.Add("Apple");
        fruits.Add("Banana");
        fruits.Add("Cherry");
        
        // Display the list
        foreach (var fruit in fruits)
        {
            Console.WriteLine(fruit);
        }
    }
}

上記の例では、空のリストを作成し、Addメソッドを使用して要素を追加しました。 Addメソッドを使用して値を格納しました。

コレクション初期化子構文の使用

C#は、コレクション初期化子構文を使用してリストを初期化する簡潔な方法を提供します。 これにより、Addメソッドを繰り返し呼び出すことなく、作成時に直接リストを格納することができます。

public void InitializeList()
{
    List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };
}

このコードは前の例と同じ結果を達成しますが、よりコンパクトな形式になっています。 コレクション初期化子を使用すると、リストを単一のステートメントで初期化できるため、コードの可読性が向上します。

オブジェクト初期化子とリストの初期化

オブジェクト初期化子構文は、主にカスタムオブジェクトを使用する際にリストを初期化する別の方法です。 オブジェクト初期化子がリストでどのように機能するかの例です:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

List<Person> people = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Jane", Age = 25 },
    new Person { Name = "Jack", Age = 35 }
};

この例では、オブジェクト初期化子を使用してPersonオブジェクトのリストを作成します。 Ageという2つのプロパティがあり、リスト作成時に明示的に値が割り当てられます。

最初のサイズを持つリストの作成

リストはサイズが動的であるが、リストがどのくらいの要素を保持するかが概ねわかっている場合、最初の容量を指定することができます。 これにより、メモリの再割り当て数を減らすことでパフォーマンスを向上させることができます。

List<string> fruits = new List<string>(10); // Initial size of 10

これは初期容量が10の空のリストを作成します。要素は追加されませんが、内部配列のサイズを変更せずに10個の要素を保持するのに十分なメモリを割り当てます。

配列からリストを初期化する

IEnumerable<T>引数を取るリストコンストラクタを使用して、既存の配列からリストを初期化することもできます。 配列を持っていて、柔軟性のためにリストに変換したい場合に便利です。

// New String array of fruit
string[] fruitArray = { "Apple", "Banana", "Cherry" };
List<string> fruits = new List<string>(fruitArray);

ここでは、新しい配列を作成し、それを使用してリストを初期化します。これによりIEnumerable<T>をリストコンストラクタに渡して初期化できます。

AddRangeメソッドの使用

既存のアイテムのコレクションがある場合、AddRangeメソッドを使用して、複数の要素をリストに一緒に追加できます。

List<string> fruits = new List<string> { "Apple", "Banana" };
string[] moreFruits = { "Cherry", "Date", "Elderberry" };
fruits.AddRange(moreFruits);

この例では、2つの要素を含むリストから始め、配列からAddRangeを使って複数の新しいアイテムを追加します。 このメソッドは、複数の再割り当ての必要性を最小限に抑えるため、一度に要素を追加することでパフォーマンスを向上させることができます。

カスタムオブジェクトでリストを初期化する

カスタムオブジェクトのリストを初期化する際には、オブジェクト初期化子とコレクション初期化子を組み合わせて、単一の式で複雑なデータ構造を作成することができます。

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 28 },
    new Person { Name = "Bob", Age = 32 },
    new Person { Name = "Charlie", Age = 40 }
};

この手法を使用すると、オブジェクトのリストを単一のステートメントで作成および初期化することができ、コードが簡潔で読みやすくなります。

拡張メソッドによるリストの初期化

リストをカスタムな方法で初期化するために、拡張メソッドを実装することもできます。 拡張メソッドは、既存のタイプに新しい機能を追加し、元の構造を変更することなく改善するメカニズムを提供します。

public static class ListExtensions
{
    public static List<T> InitializeWith<T>(this List<T> list, params T[] elements)
    {
        list.AddRange(elements);
        return list;
    }
}

// Usage
List<string> fruits = new List<string>().InitializeWith("Apple", "Banana", "Cherry");

ここでは、リストに要素を追加しリスト自体を返す拡張メソッドInitializeWithを定義しています。 これにより、リストの初期化と値の設定をチェーンすることができます。

IronPDF: C# PDFライブラリ

C#リストの初期化 (開発者向けの仕組み): 図1 - IronPDF: C# PDFライブラリ

フルーツのリストのようなものを持っている場合、HTMLテーブルに素早く変換し、PDFとしてレンダリングすることができます。IronPDFを使用して、わずか数行のコードで可能です。 プロセスは簡単です: リストを初期化し、それをHTMLに変換し、IronPDFでPDFを生成します。 こちらが例です:

using IronPdf;
using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
        // Initialize a list of strings representing data
        List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };
        
        // Convert the list to an HTML table
        StringBuilder htmlContent = new StringBuilder();
        htmlContent.Append("<table border='1'><tr><th>Fruit Name</th></tr>");
        foreach (var fruit in fruits)
        {
            htmlContent.Append($"<tr><td>{fruit}</td></tr>");
        }
        htmlContent.Append("</table>");
        
        // Render the HTML to PDF using IronPDF
        var Renderer = new ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
        
        // Save the PDF to a file
        PDF.SaveAs("FruitsList.pdf");
        Console.WriteLine("PDF generated successfully.");
    }
}

C#リストの初期化 (開発者向けの仕組み): 図2 - 出力例

このコードはリストを初期化し、それをHTMLテーブルに変換し、IronPDFを使用してPDFファイルを作成します。データコレクションからPDFを生成するためのシンプルで直接的な方法です。

結論

C#リストの初期化 (開発者向けの仕組み): 図3 - IronPDFライセンスページ

C#でのリストの初期化は、すべてのソフトウェアエンジニアが習得すべき基本的な概念です。 単純な文字列のリストから複雑なオブジェクトのリストまで、C#はリストを効率的に初期化および設定するためのいくつかの方法を提供します。 基本的な初期化からオブジェクト初期化子およびコレクション初期化子に至るまで、これらのテクニックはクリーンで簡潔で保守可能なコードの記述に役立ちます。

IronPDFは、最初の投資をせずに製品を試用できる無料トライアルを提供しています。 ニーズに合っていることを確認したら、ライセンスは$999から購入できます。

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.

...
Read More

Related Articles

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

bullet_checkedクレジットカードやアカウントの作成は不要です。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge related to IronPDF Product Demo

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。