Przejdź do treści stopki
POMOC .NET

Lista połączona w języku C# (jak działa dla programistów)

Lista powiązana to liniowa struktura danych złożona z serii węzłów, które można również nazywać elementami. W przeciwieństwie do tablic, gdzie elementy/węzły są przechowywane w ciągłych lokalizacjach pamięci, listy powiązane wykorzystują dynamiczne przydzielanie pamięci, co pozwala na rozproszenie elementów/węzłów w pamięci.

W najprostszej formie "listy powiązane" składają się z węzłów połączonych liniowo. Każdy węzeł zawiera dwie główne części:

  1. Dane: Dane przechowywane w węźle. Może to być dowolny typ danych, w zależności od implementacji, na przykład liczby całkowite, ciągi znaków, obiekty itp.
  2. Następny wskaźnik: Referencja (lub wskaźnik) do następnego węzła w sekwencji. Ten wskaźnik wskazuje na lokalizację pamięci kolejnego węzła, skierowaną do przodu na liście powiązanej.

Ostatni węzeł w liście powiązanej zazwyczaj wskazuje na null, co oznacza koniec listy.

W tym artykule dokładnie przyjrzymy się liście powiązanej w C# oraz zbadamy bibliotekę IronPDF, narzędzie do generowania PDF od Iron Software.

Rodzaje list powiązanych

1. Jednokierunkowa lista powiązana

Jednokierunkowa lista powiązana ma węzeł z jedną referencją, zazwyczaj wskazującą na następny węzeł w sekwencji. Przemieszczanie się po liście jest ograniczone do poruszania się w jednym kierunku, zazwyczaj od głowy (pierwszego węzła) do ogona (ostatniego węzła).

2. Dwukierunkowa lista powiązana

W dwukierunkowej liście powiązanej każdy węzeł zawiera dwie referencje: jedną wskazującą na następny węzeł, a drugą wskazującą na poprzedni węzeł w sekwencji. To dwukierunkowe połączenie umożliwia poruszanie się w obu kierunkach, do przodu i wstecz.

3. Kołowa lista powiązana

W kołowej liście powiązanej ostatni węzeł wskazuje z powrotem na pierwszy węzeł, tworząc strukturę kołową. Tego typu lista powiązana może być zaimplementowana z wykorzystaniem zarówno węzłów jednokierunkowych, jak i dwukierunkowych.

Podstawowe operacje na listach powiązanych

  1. Wstawianie: Dodawanie nowego węzła do listy w określonej pozycji, np. na początku, końcu lub w środku.
  2. Usuwanie: Usuwanie określonego węzła obiektu z listy i dostosowywanie wskaźników sąsiednich węzłów odpowiednio.
  3. Przemierzanie: Iterowanie przez listę w celu uzyskania dostępu lub manipulacji danymi każdego węzła.
  4. Wyszukiwanie: Znajdowanie określonego węzła w liście na podstawie wartości danych.

Linked List in C#

W C# możesz zaimplementować listę powiązaną, używając klasy LinkedList z przestrzeni nazw System.Collections.Generic. Oto przykład wszystkich podstawowych operacji:

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}");
        }
    }
}
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}");
        }
    }
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic

Namespace CsharpSamples
	Public Class Program
		Public Shared Sub Main()
			' Create a new linked list of integers
			Dim linkedList As New LinkedList(Of Integer)()

			' 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:")
			For Each item In linkedList
				Console.WriteLine(item)
			Next 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(vbLf & "Find/Search Element Linked List elements: 30")
			Dim foundNode = linkedList.Find(30)

			If foundNode IsNot Nothing Then
				Console.WriteLine($"Found Value: {foundNode.Value}, " & $"Next Element: {(If(foundNode.Next IsNot Nothing, foundNode.Next.Value.ToString(), "null"))}, " & $"Previous Element: {(If(foundNode.Previous IsNot Nothing, foundNode.Previous.Value.ToString(), "null"))}")
			End If

			' Insert an element at a specified node
			Dim current As LinkedListNode(Of Integer) = linkedList.Find(20)
			If current IsNot Nothing Then
				linkedList.AddAfter(current, 25)
			End If

			Console.WriteLine($vbLf & "Number of Linked List elements: {linkedList.Count}")
			Console.WriteLine(vbLf & "Linked List elements after insertion:")
			For Each item In linkedList
				Console.WriteLine(item)
			Next item

			' Remove an existing node from the linked list
			linkedList.Remove(30)

			Console.WriteLine(vbLf & "Linked List elements after removal:")
			For Each item In linkedList
				Console.WriteLine(item)
			Next item

			Console.WriteLine($vbLf & "Number of Linked List elements: {linkedList.Count}")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Utwórz nową listę powiązaną liczb całkowitych za pomocą new LinkedList<int>().
  2. Dodaj określone obiekty wartości do listy powiązanej.
  3. Przemierzaj i drukuj elementy listy powiązanej, używając pętli foreach.
  4. Znajdź/wyszukaj element na liście powiązanej.
  5. Wstaw element do określonego węzła, używając metod Find i AddAfter.
  6. Usuń istniejący węzeł z listy powiązanej, używając metody Remove.

Wynik

C# Linked List (Jak Działa Dla Programistów): Rysunek 1 - Wynik Listy Powiązanej

Wprowadzenie do IronPDF

Dowiedz się więcej o IronPDF to potężna biblioteka PDF w C# opracowana i utrzymywana przez Iron Software. Oferuje ona zestaw zaawansowanych funkcji do tworzenia, edytowania i wyodrębniania treści z dokumentów PDF w projektach .NET.

Kluczowe Punkty dotyczące IronPDF

Konwersja HTML na PDF

IronPDF umożliwia konwersję treści HTML do formatu PDF. Możesz renderować strony HTML, adresy URL i ciągi HTML do plików PDF z łatwością.

Zaawansowane API

Biblioteka oferuje przyjazne dla użytkownika API, które pozwala programistom generować profesjonalnej jakości pliki PDF bezpośrednio z HTML. Niezależnie od tego, czy potrzebujesz stworzyć faktury, raporty, czy inne dokumenty, IronPDF upraszcza proces.

Wsparcie Platformowe

IronPDF jest kompatybilny z różnymi środowiskami .NET, w tym .NET Core, .NET Standard i .NET Framework. Działa na platformach Windows, Linux i macOS.

Wszechstronność

IronPDF wspiera różne typy projektów, takie jak aplikacje webowe (Blazor i WebForms), aplikacje desktopowe (WPF i MAUI) oraz aplikacje konsolowe.

Źródła Treści

Możesz generować pliki PDF z różnych źródeł treści, w tym z plików HTML, Razor views (Blazor Server), CSHTML (MVC i Razor), ASPX (WebForms) i XAML (MAUI).

Dodatkowe Funkcje

  1. Dodaj nagłówki i stopki do plików PDF.
  2. Scal, podziel, dodaj, skopiuj i usuń strony PDF.
  3. Ustaw hasła, uprawnienia i podpisy cyfrowe.
  4. Optymalizuj wydajność z wsparciem wielowątkowym i asynchronicznym.

Kompatybilność

IronPDF jest zgodny ze standardami PDF, w tym wersjami 1.2 do 1.7, PDF/UA i PDF/A. Obsługuje również kodowanie znaków UTF-8, bazowe URL oraz kodowanie zasobów.

Generowanie Dokumentu PDF z użyciem LinkedList

Teraz stwórzmy dokument PDF z użyciem IronPDF i jednocześnie zademonstrujmy użycie ciągów LinkedList.

Aby rozpocząć, otwórz Visual Studio i stwórz aplikację konsolową, wybierając z szablonów projektów, jak pokazano poniżej.

C# Linked List (Jak Działa Dla Programistów): Rysunek 2 - Nowy Projekt

Podaj nazwę projektu i lokalizację.

C# Linked List (Jak Działa Dla Programistów): Rysunek 3 - Konfiguracja Projektu

Wybierz wymaganą wersję .NET.

C# Linked List (Jak Działa Dla Programistów): Rysunek 4 - Docelowe Środowisko

Zainstaluj IronPDF z menedżera pakietów Visual Studio jak poniżej.

C# Linked List (Jak Działa Dla Programistów): Rysunek 5 - Instalacja IronPDF

Lub można go zainstalować za pomocą poniższej linii komend.

dotnet add package IronPdf --version 2024.4.2

Dodaj poniższy kod.

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");
        }
    }
}
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");
        }
    }
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports IronPdf

Namespace CsharpSamples
	Public Class Program
		Public Shared Sub Main()
			Dim 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
			Dim linkedList As New LinkedList(Of 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:")

			For Each item In linkedList
				content &= $"<p>{item}</p>"
				Console.WriteLine(item)
			Next item

			content &= "<h2>Insert an element at a specific position</h2>"
			Dim node As LinkedListNode(Of String) = linkedList.Find("Banana")
			If node IsNot Nothing Then
				linkedList.AddAfter(node, "Mango")
				content &= "<p>Find Banana and insert Mango After</p>"
			End If

			Console.WriteLine(vbLf & "Linked List elements after insertion:")
			content &= "<h2>Linked List elements after insertion:</h2>"

			For Each item In linkedList
				content &= $"<p>{item}</p>"
				Console.WriteLine(item)
			Next item

			content &= "<h2>Remove an element from the linked list</h2>"
			linkedList.Remove("Orange")
			content &= "<p>Remove Orange from linked list</p>"

			Console.WriteLine(vbLf & "Linked List elements after removal:")
			content &= "<h2>Linked List elements after removal:</h2>"

			For Each item In linkedList
				content &= $"<p>{item}</p>"
				Console.WriteLine(item)
			Next item

			' Create a PDF renderer
			Dim renderer = New ChromePdfRenderer()

			' Create a PDF from HTML string
			Dim pdf = renderer.RenderHtmlAsPdf(content)

			' Save to a file
			pdf.SaveAs("AwesomeIronOutput.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Najpierw zaczynamy od tworzenia treści do PDF, używając obiektu ciągu treści. Treść jest generowana jako ciąg HTML.
  2. Utwórz nową listę powiązaną ciągów z new LinkedList<string>().
  3. Dodaj elementy do listy powiązanej i dołącz informacje do ciągu treści PDF.
  4. Wydrukuj elementy listy powiązanej i dołącz do treści PDF.
  5. Wstaw element w określonej pozycji używając metody AddAfter; zaktualizuj treść i wydrukuj wynikową listę.
  6. Usuń element z listy powiązanej używając metody Remove, zaktualizuj treść i wydrukuj wynikową listę.
  7. W końcu zapisz wygenerowaną treść w formacie HTML do dokumentu PDF używając metod ChromePdfRenderer, RenderHtmlAsPdf i SaveAs.

Wynik

C# Linked List (Jak Działa Dla Programistów): Rysunek 6 - IronPDF z Wynikiem `LinkedList`

Wynik ma znak wodny, który można usunąć za pomocą ważnej licencji z strony licencjonowania IronPDF.

Licencja IronPDF

Biblioteka IronPDF wymaga licencji do działania, którą można uzyskać z strony licencjonowania produktu.

Wklej klucz do pliku appSettings.json poniżej.

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

Podsumowanie

C# LinkedList zapewnia wszechstronną strukturę danych do zarządzania kolekcjami elementów, oferującą efektywne wstawienia i usunięcia przy jednoczesnym przystosowaniu dynamicznego rozmiaru, podobnie jak domyślna funkcja haszująca. Listy powiązane są często używane w różnych aplikacjach i algorytmach, takich jak implementacja stosów, kolejek, tabel symboli oraz systemów zarządzania pamięcią. Zrozumienie cech i operacji list powiązanych jest kluczowe do budowy wydajnych i skalowalnych rozwiązań programowych.

Podsumowując, choć listy powiązane są doskonałe w niektórych scenariuszach, takich jak dynamiczne struktury danych i częste wstawienia/usunięcia, mogą nie być najlepszym wyborem dla aplikacji wymagających częstego dostępu losowego lub pracy w środowiskach z ograniczoną pamięcią. Staranna analiza specyficznych wymagań i cech danych może naprowadzić na wybór najodpowiedniejszej struktury danych do zadania.

Biblioteka IronPDF od Iron Software pozwala programistom na łatwe tworzenie i manipulację dokumentami PDF, umożliwiając zaawansowane umiejętności rozwoju nowoczesnych aplikacji.

Często Zadawane Pytania

Czym jest lista połączona w języku C#?

Lista połączona w języku C# to liniowa struktura danych złożona z węzłów, z których każdy zawiera dane i odwołanie do następnego węzła. Struktura ta, w przeciwieństwie do tablic, pozwala na dynamiczną alokację pamięci, umożliwiając przechowywanie elementów w nieprzylegających lokalizacjach pamięci.

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Pozwala ona również na konwersję plików HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.

Jakie są rodzaje list połączonych w języku C#?

W języku C# głównymi typami list połączonych są listy połączone pojedynczo, listy połączone podwójnie oraz listy połączone cyklicznie. Listy połączone pojedynczo zawierają węzły z pojedynczym odwołaniem do następnego węzła, listy połączone podwójnie zawierają odwołania zarówno do następnego, jak i poprzedniego węzła, a listy połączone cyklicznie mają ostatni węzeł odwołujący się z powrotem do pierwszego węzła.

Jakie podstawowe operacje można wykonywać na listach połączonych?

Listy połączone obsługują operacje takie jak wstawianie (dodawanie nowego węzła), usuwanie (usuwanie istniejącego węzła), przeglądanie (iteracja przez listę) oraz wyszukiwanie (znajdowanie węzła na podstawie jego danych).

Jak zaimplementować listę połączoną w języku C#?

Listę połączoną można zaimplementować w języku C# przy użyciu klasy LinkedList z przestrzeni nazw System.Collections.Generic, która udostępnia metody dodawania, usuwania i manipulowania węzłami na liście.

Jakie funkcje oferuje biblioteka do generowania plików PDF?

Biblioteka do generowania plików PDF, taka jak IronPDF, oferuje konwersję HTML do PDF, wyodrębnianie tekstu, łączenie i dzielenie dokumentów oraz ustawianie uprawnień do dokumentów, a wszystko to w różnych środowiskach .NET.

W jaki sposób listy połączone mogą być wykorzystywane przy generowaniu plików PDF?

Listy połączone mogą dynamicznie przechowywać i organizować treści, które następnie można iterować i konwertować na dokument PDF przy użyciu biblioteki takiej jak IronPDF, co ułatwia manipulowanie treścią i generowanie wyników.

Jakie są zalety stosowania list połączonych w tworzeniu oprogramowania?

Listy połączone umożliwiają wydajne wstawianie i usuwanie elementów oraz dynamiczne zmianę rozmiaru i są przydatne do implementacji dynamicznych struktur danych, takich jak stosy i kolejki. Są one szczególnie przydatne, gdy konieczne są częste modyfikacje, choć nie oferują możliwości dostępu swobodnego.

Jaka jest różnica między listami pojedynczo i podwójnie połączonymi?

Główna różnica polega na tym, że listy pojedynczo połączone zawierają węzły z pojedynczym odwołaniem do następnego węzła, co umożliwia przeglądanie w jedną stronę, podczas gdy listy podwójnie połączone zawierają węzły z odwołaniami zarówno do następnego, jak i poprzedniego węzła, co umożliwia przeglądanie w obie strony.

Jak wygenerować plik PDF na podstawie danych z listy połączonej w języku C#?

Można iterować po liście połączonej w celu zebrania danych, a następnie użyć API IronPDF do renderowania tych danych do dokumentu PDF. Wymaga to wykorzystania metod takich jak HtmlToPdf do konwersji treści ustrukturyzowanych do profesjonalnego formatu PDF.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie