.NETヘルプ C#のリストを初期化する方法(開発者向けの仕組み) Jacob Mellor 更新日:2025年7月28日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る リストは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); } } } 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); } } } $vbLabelText $csharpLabel 上記の例では、空のリストを作成し、Add メソッドを使用して要素を追加しました。 List<string> は文字列のリストを表し、Add メソッドを使用してこれに値を設定します。 コレクション初期化子構文の使用 C#は、コレクション初期化子構文を使用してリストを初期化する簡潔な方法を提供します。 これにより、Add メソッドを繰り返し呼び出さなくても、リストの作成時にリストに直接データを入力できるようになります。 public void InitializeList() { List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" }; } public void InitializeList() { List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" }; } $vbLabelText $csharpLabel このコードは前の例と同じ結果を達成しますが、よりコンパクトな形式になっています。 コレクション初期化子を使用すると、リストを単一のステートメントで初期化できるため、コードの可読性が向上します。 オブジェクト初期化子とリストの初期化 オブジェクト初期化子構文は、主にカスタムオブジェクトを使用する際にリストを初期化する別の方法です。 オブジェクト初期化子がリストでどのように機能するかの例です: 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 } }; 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 } }; $vbLabelText $csharpLabel この例では、オブジェクト初期化子を使用して Person オブジェクトのリストを作成します。 Person クラスには、Name と Age の 2 つのプロパティがあり、リストの作成時に明示的に値が割り当てられます。 最初のサイズを持つリストの作成 リストはサイズが動的であるが、リストがどのくらいの要素を保持するかが概ねわかっている場合、最初の容量を指定することができます。 これにより、メモリの再割り当て数を減らすことでパフォーマンスを向上させることができます。 List<string> fruits = new List<string>(10); // Initial size of 10 List<string> fruits = new List<string>(10); // Initial size of 10 $vbLabelText $csharpLabel これは初期容量が10の空のリストを作成します。要素は追加されませんが、内部配列のサイズを変更せずに10個の要素を保持するのに十分なメモリを割り当てます。 配列からリストを初期化する また、IEnumerable<t> 引数を取るリスト コンストラクターを使用して、既存の配列からリストを初期化することもできます。 配列を持っていて、柔軟性のためにリストに変換したい場合に便利です。 // New String array of fruit string[] fruitArray = { "Apple", "Banana", "Cherry" }; List<string> fruits = new List<string>(fruitArray); // New String array of fruit string[] fruitArray = { "Apple", "Banana", "Cherry" }; List<string> fruits = new List<string>(fruitArray); $vbLabelText $csharpLabel ここでは、新しい配列を作成し、それを使ってリストを初期化しています。これにより、IEnumerable<t>を、初期化のためにリストコンストラクタに渡すことができます。 AddRangeメソッドの使用 既存のアイテムのコレクションがある場合は、AddRange メソッドを使用して、複数の要素をリストにまとめて追加できます。 List<string> fruits = new List<string> { "Apple", "Banana" }; string[] moreFruits = { "Cherry", "Date", "Elderberry" }; fruits.AddRange(moreFruits); List<string> fruits = new List<string> { "Apple", "Banana" }; string[] moreFruits = { "Cherry", "Date", "Elderberry" }; fruits.AddRange(moreFruits); $vbLabelText $csharpLabel この例では、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 } }; List<Person> people = new List<Person> { new Person { Name = "Alice", Age = 28 }, new Person { Name = "Bob", Age = 32 }, new Person { Name = "Charlie", Age = 40 } }; $vbLabelText $csharpLabel この手法を使用すると、オブジェクトのリストを単一のステートメントで作成および初期化することができ、コードが簡潔で読みやすくなります。 拡張メソッドによるリストの初期化 リストをカスタムな方法で初期化するために、拡張メソッドを実装することもできます。 拡張メソッドは、既存のタイプに新しい機能を追加し、元の構造を変更することなく改善するメカニズムを提供します。 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"); 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"); $vbLabelText $csharpLabel ここでは、リストに要素を追加し、リスト自体を返す拡張メソッド InitializeWith を定義します。 これにより、リストの初期化と値の設定をチェーンすることができます。 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."); } } 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."); } } $vbLabelText $csharpLabel このコードはリストを初期化し、それをHTMLテーブルに変換し、IronPDFを使用してPDFファイルを作成します。データコレクションからPDFを生成するためのシンプルで直接的な方法です。 結論 C#でのリストの初期化は、すべてのソフトウェアエンジニアが習得すべき基本的な概念です。 単純な文字列のリストから複雑なオブジェクトのリストまで、C#はリストを効率的に初期化および設定するためのいくつかの方法を提供します。 基本的な初期化からオブジェクト初期化子およびコレクション初期化子に至るまで、これらのテクニックはクリーンで簡潔で保守可能なコードの記述に役立ちます。 IronPDFは、最初の投資をせずに製品を試用できる無料トライアルを提供しています。 ニーズを満たしていると確信できたら、ライセンスは $799 からご利用いただけます。 よくある質問 C# でリストを初期化する基本的な方法は何ですか? C# では、リストを初期化するには、要素の型が T である List クラスのインスタンスを作成します。例えば、List fruits = new List(); はリストを初期化する基本的な方法です。 C# でコレクション初期化子構文がリストの初期化をどのように改善できますか? コレクション初期化子構文により、作成中にリストに直接データを追加でき、コードを簡潔にします。例えば:List fruits = new List { 'Apple', 'Banana', 'Cherry' };。 リストを初期化する際のオブジェクト初期化子構文の目的は何ですか? オブジェクト初期化子構文は、リストにカスタムオブジェクトを初期化する際に有益で、リストが作成されるときにプロパティ値を設定できます。例えば、リスト内に new Person { Name = 'John', Age = 30 }; など。 リストに初期容量を設定できますか、それはなぜ役立つのでしょうか? はい、リストに初期容量を設定すると、リストが成長するにつれてメモリアロケーションを減らしてパフォーマンスを向上させることができます。例:List fruits = new List(10);。 C# で既存の配列からリストを初期化するにはどうすればよいですか? リストのコンストラクタが受け入れる IEnumerable を使用して、配列からリストを初期化できます。例:List fruits = new List(fruitArray);。 AddRange メソッドはリストの初期化でどのような役割を果たしますか? AddRangeメソッドは、コレクションからリストに複数の要素を一度に追加し、再割り当てを最小限に抑えることでパフォーマンスを最適化します。例: fruits.AddRange(moreFruits);. 初期化子を使用してリストにカスタムオブジェクトを初期化するにはどうすればよいですか? カスタムオブジェクトは、オブジェクトおよびコレクション初期化子を組み合わせることでリストに初期化でき、リストの作成が一つの式で行えます。例:new List { new Person { Name = 'Alice', Age = 28 } };。 拡張メソッドとは何ですか、リストの初期化とどのように関連していますか? 拡張メソッドは既存の型に新しい機能を追加することを可能にします。たとえば、InitializeWith のような拡張メソッドを記述して、リストの初期化とデータのポピュレーションを効率化できます。 C# でリストを PDF に変換するにはどうすればよいですか? IronPDF を使用して、リストを HTML テーブルとして変換し、PDF としてレンダリングすることができ、C# のデータコレクションからの PDF 生成プロセスを簡素化できます。 データコレクションから PDF を生成するための無料トライアルはありますか? はい、IronPDF は無料トライアルを提供しており、初回購入なしでデータコレクションからの PDF 生成機能をテストできます。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。 関連する記事 更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む 更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む C#の命名規則(開発者向けの仕組み)FileStream C#(開発者向けの...
更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む
更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む