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

C# Linked List(開発者向けの動作方法)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月21日

連結リストは、一連のノードで構成された線形データ構造であり、要素とも呼ばれることがあります。 要素/ノードが連続したメモリ位置に格納される配列と異なり、連結リストは動的メモリ割り当てを利用し、要素/ノードをメモリ全体に分散させます。

最も単純な形では、"連結リスト"は互いに線形にリンクするノードで構成されています。 各ノードには2つの主要な部分があります。

1.データ:ノードに保存されるペイロード。 これは整数、文字列、オブジェクトなど、実装によってさまざまなデータ型にすることができます。 2.次のポインタ:シーケンス内の次のノードへの参照 (またはポインタ)。 このポインタは、連結リストの次のノードが配置されているメモリ位置を指し示します。

連結リストの最後のノードは通常、リストの終わりを示すヌル参照を指します。

この記事では、C#の連結リストを詳細に見て、IronPDFライブラリ、Iron SoftwareによるPDF生成ツールも探求します。

連結リストの種類

1. 単方向連結リスト

単方向連結リストは、シーケンス内の次のノードを指す通常1つの参照を持つノードで構成されます。 リストの移動は、通常はヘッド(初めのノード)からテール(最後のノード)への一方通行に制限されます。

2. 双方向連結リスト

双方向連結リストでは、各ノードが2つの参照を持ちます:一つは次のノードを、もう一つはシーケンス上の前のノードを指します。 この双方向のリンクは、前方と後方の両方の方向に移動を可能にします。

3. 循環連結リスト

循環連結リストでは、最後のノードが最初のノードに戻って指して、循環構造を形成します。 このタイプの連結リストは、単方向または双方向のノードを使用して実装できます。

連結リストでの基本操作

1.挿入:リストの先頭、末尾、中間などの特定の位置に新しいノードを追加します。 2.削除:指定されたオブジェクト ノードをリストから削除し、それに応じて隣接ノードのポインターを調整します。 3.トラバーサル:リストを反復処理して各ノードのデータにアクセスしたり操作したりします。 4.検索:データで指定された値に基づいて、リスト内の特定のノードを検索します。

Linked List in C#

C# では、LinkedList クラスと System.Collections.Generic 名前空間を使用してリンクリストを実装することができます。 以下はすべての基本操作の例です。

using System;
using System.Collections.Generic;

namespace CsharpSamples
{
    public class Program
    {
        public static void Main()
        {
            // Create a new linked list of integers
            LinkedList<int> linkedList = new LinkedList<int>();
            
            // Add elements to the linked list
            linkedList.AddLast(10);
            linkedList.AddLast(20);
            linkedList.AddLast(30);
            linkedList.AddLast(40);
            
            // Traverse and print the elements of the linked list
            Console.WriteLine("Traverse Linked List elements:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            // Display number of linked list elements
            Console.WriteLine($"Number of Linked List elements: {linkedList.Count}");
            
            // Find/Search for an element in the linked list
            Console.WriteLine("\nFind/Search Element Linked List elements: 30");
            var foundNode = linkedList.Find(30);
            
            if (foundNode != null)
            {
                Console.WriteLine(
                    $"Found Value: {foundNode.Value}, " +
                    $"Next Element: {(foundNode.Next != null ? foundNode.Next.Value.ToString() : "null")}, " +
                    $"Previous Element: {(foundNode.Previous != null ? foundNode.Previous.Value.ToString() : "null")}"
                );
            }
            
            // Insert an element at a specified node
            LinkedListNode<int> current = linkedList.Find(20);
            if (current != null)
            {
                linkedList.AddAfter(current, 25);
            }
            
            Console.WriteLine($"\nNumber of Linked List elements: {linkedList.Count}");
            Console.WriteLine("\nLinked List elements after insertion:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            // Remove an existing node from the linked list
            linkedList.Remove(30);
            
            Console.WriteLine("\nLinked List elements after removal:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            Console.WriteLine($"\nNumber of Linked List elements: {linkedList.Count}");
        }
    }
}

コードの説明

  1. new LinkedList<int>() を使用して整数の新しいリンクリストを作成します。
  2. 指定された値のオブジェクトを連結リストに追加します。
  3. foreach ループを使用してリンクリストの要素を巡回し、表示します。
  4. 連結リスト内の要素を見つける/検索します。
  5. Find および AddAfter メソッドを使用して、指定されたノードに要素を挿入します。
  6. Remove メソッドを使用して、リンクリストから既存のノードを削除します。

出力

C# リンクリスト(開発者のための仕組み):図1 - リンクリスト出力

IronPDFの紹介

IronPDFについて詳しく知るは、Iron Softwareによって開発および保守される強力なC# PDFライブラリです。 それは.NETプロジェクト内でのPDF文書の作成、編集、およびコンテンツ抽出のための包括的な機能セットを提供します。

IronPDFの主なポイント

HTMLからPDFへの変換

IronPDFは、HTMLコンテンツをPDFフォーマットに変換できます。 HTMLページ、URL、およびHTML文字列を簡単にPDFとしてレンダリングできます。

豊富なAPI

ライブラリは、開発者がHTMLから直接プロフェッショナル品質のPDFを生成するためのユーザーフレンドリーなAPIを提供します。 請求書、レポート、その他の文書を作成するにせよ、IronPDFはプロセスを簡略化します。

クロスプラットフォームサポート

IronPDFは.NET Core、.NET Standard、および.NET Frameworkを含む様々な.NET環境と互換性があります。 それはWindows、Linux、およびmacOSプラットフォームで動作します。

多様性

IronPDFは、Webアプリケーション(BlazorおよびWebForms)、デスクトップアプリケーション(WPFおよびMAUI)、コンソールアプリケーションなど、さまざまなプロジェクトタイプをサポートしています。

コンテンツのソース

HTMLファイル、Razorビュー(Blazorサーバー)、CSHTML(MVCおよびRazor)、ASPX(WebForms)、XAML(MAUI)など、さまざまなコンテンツソースからPDFを生成できます。

追加機能

  1. PDFにヘッダーやフッターを追加します。
  2. PDFページをマージ、分割、追加、コピー、および削除します。
  3. パスワード、権限、およびデジタル署名を設定します。
  4. マルチスレッドおよび非同期サポートを利用してパフォーマンスを最適化します。

互換性

IronPDFは、バージョン1.2から1.7、PDF/UA、およびPDF/Aを含むPDF標準に準拠しています。 また、UTF-8文字エンコーディング、ベースURL、およびアセットエンコーディングをサポートしています。

LinkedList を使用してPDFドキュメントを生成する

それでは、IronPDFを使用してPDFドキュメントを作成し、LinkedList 文字列の使用例も示します。

まず、Visual Studioを開いて、以下のテンプレート選択からコンソールアプリケーションを作成します。

C# リンクリスト(開発者のための仕組み):図2 - 新しいプロジェクト

プロジェクト名と場所を指定します。

C# リンクリスト(開発者のための仕組み):図3 - プロジェクト構成

必要な.NETバージョンを選択します。

C# リンクリスト(開発者のための仕組み):図4 - ターゲットフレームワーク

以下のようにVisual StudioパッケージマネージャーからIronPDFをインストールします。

C# リンクリスト(開発者のための仕組み):図5 - IronPDF のインストール

または、以下のコマンドラインを使用してインストールできます。

> dotnet add package IronPdf --version 2024.4.2

以下のコードを追加します。

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

namespace CsharpSamples
{
    public class Program
    {
        public static void Main()
        {
            var content = "<h1>Demonstrate IronPDF with C# LinkedList</h1>";
            content += "<h2>Create a new linked list of strings</h2>";
            content += "<p>Create a new linked list of strings with new LinkedList&lt;string&gt;()</p>";
            
            // Create a new linked list of strings
            LinkedList<string> linkedList = new LinkedList<string>();
            
            // Add elements to the linked list
            content += "<p>Add Apple to linkedList</p>";
            linkedList.AddLast("Apple");
            
            content += "<p>Add Banana to linkedList</p>";
            linkedList.AddLast("Banana");
            
            content += "<p>Add Orange to linkedList</p>";
            linkedList.AddLast("Orange");
            
            content += "<h2>Print the elements of the linked list</h2>";
            Console.WriteLine("Linked List elements:");
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            content += "<h2>Insert an element at a specific position</h2>";
            LinkedListNode<string> node = linkedList.Find("Banana");
            if (node != null)
            {
                linkedList.AddAfter(node, "Mango");
                content += "<p>Find Banana and insert Mango After</p>";
            }
            
            Console.WriteLine("\nLinked List elements after insertion:");
            content += "<h2>Linked List elements after insertion:</h2>";
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            content += "<h2>Remove an element from the linked list</h2>";
            linkedList.Remove("Orange");
            content += "<p>Remove Orange from linked list</p>";
            
            Console.WriteLine("\nLinked List elements after removal:");
            content += "<h2>Linked List elements after removal:</h2>";
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            // Create a PDF renderer
            var renderer = new ChromePdfRenderer();
            
            // Create a PDF from HTML string
            var pdf = renderer.RenderHtmlAsPdf(content);
            
            // Save to a file
            pdf.SaveAs("AwesomeIronOutput.pdf");
        }
    }
}

コードの説明

  1. まず、コンテンツ文字列オブジェクトを使用してPDFのコンテンツを作成します。 コンテンツはHTML文字列として生成されます。
  2. new LinkedList<string>() を使用して文字列の新しいリンクリストを作成します。
  3. 連結リストに要素を追加し、さらに情報をPDFコンテンツ文字列に追加します。
  4. 連結リストの要素を印刷し、PDFコンテンツに追加します。
  5. AddAfter メソッドを使用して特定の位置に要素を挿入します。 update content and print the resulting list.
  6. Remove メソッドを使用してリンクリストから要素を削除し、内容を更新し、結果のリストを表示します。
  7. 最後に、生成されたHTMLコンテンツ文字列を SaveAs メソッドを使用してPDFドキュメントに保存します。

出力

C# リンクリスト(開発者のための仕組み):図6 - IronPDF と LinkedList 出力

出力には、IronPDFライセンスページからの有効なライセンスを使用して削除できるウォーターマークがあります。

IronPDFライセンス

IronPDFライブラリは実行にライセンスが必要です、そしてそれは製品ライセンスページから入手できます。

以下のappSettings.jsonファイルにキーを貼り付けます。

{
  "IronPdf.License.LicenseKey": "The Key Goes Here"
}
JSON

結論

C# LinkedList は、コレクション要素を管理するための多用途なデータ構造を提供し、デフォルトのハッシュ関数に類似して効果的な挿入および削除を提供しつつ、動的リサイズを可能にします。 連結リストは、スタック、キュー、シンボルテーブル、メモリ管理システムなど様々なアプリケーションやアルゴリズムでよく使用されます。 連結リストの特性と操作を理解することは、効率的でスケーラブルなソフトウェアソリューションを構築するために重要です。

まとめると、連結リストは動的データ構造や頻繁な挿入/削除が求められる特定のシナリオに優れていますが、頻繁なランダムアクセスやメモリ制約のある環境で使用すべきではないかもしれません。 データの特定の要件と特性を慎重に検討すると、最も適切なデータ構造の選択をガイドします。

Iron SoftwareのIronPDFライブラリにより、開発者はPDFドキュメントを簡単に作成および操作でき、高度なスキルを駆使して最新のアプリケーションを開発可能にします。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

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

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

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

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

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から