IRONSOFTWAREHOME
POMOC .NET

Lista wydruku w języku C#: krótki samouczek

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

W C# drukowanie listy to często wykonywane zadanie, które można zrealizować na różne sposoby, oferując elastyczność i personalizację. Listy są podstawowymi strukturami danych w C#, a możliwość wydrukowania ich zawartości jest kluczowa dla debugowania, logowania lub wyświetlania informacji użytkownikom.

W tym artykule zbadamy różne metody jak drukować listę w C#.

Podstawy Listy w C#

W C#, list jest dynamiczną tablicą, która może rosnąć lub maleć. Jest częścią przestrzeni nazw System.Collections.Generic i zapewnia elastyczność oraz wydajność w obsłudze kolekcji elementów. Poniższy kod tworzy prostą listę liczb:

using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
    }
}

Drukowanie listy przy użyciu pętli

1. Użycie foreach Loop

Tradycyjny i prosty sposób drukowania elementów listy to użycie pętli foreach. Oto prosty przykład:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine("Printing list using foreach loop:");
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

Ta metoda jest zwięzła i czytelna, co czyni ją odpowiednią dla większości scenariuszy.

2. Użycie for Loop

Jeśli potrzebujesz większej kontroli nad indeksem lub chcesz wydrukować elementy warunkowo, możesz użyć pętli for. Oto przykład listy stringów:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        // Create list of strongly typed objects
        List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
        Console.WriteLine("Printing list using for loop:");
        for (int index = 0; index < colors.Count; index++)
        {
            Console.WriteLine($"Color at index {index}: {colors[index]}");
        }
    }
}

To podejście jest korzystne, gdy wymagana jest dostęp do indeksu lub zastosowanie określonej logiki podczas drukowania.

Drukowanie elementów listy w odwrotnej kolejności

Drukowanie listy w odwrotnej kolejności można osiągnąć, wykorzystując metodę Reverse. Ta metoda odwraca porządek elementów na liście, co pozwala na ich iterację i drukowanie.

1. Używanie metody List.Reverse

Na przykład, można wydrukować listę w odwrotnej kolejności, używając metody Reverse, a następnie drukując każdy element.

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        numbers.Reverse();
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

2. Using LINQ OrderByDescending

Można również użyć metody OrderByDescending z kluczem, aby ułożyć określoną kolekcję elementów z klasy ogólnej LINQ:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        var reversedNumbers = numbers.OrderByDescending(n => n);
        foreach (var number in reversedNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

Liczba elementów i drukowanie

Liczenie liczby elementów na liście to wspólna operacja. W tym celu można użyć właściwości Count. Po uzyskaniu liczby, można go łatwo wydrukować.

1. Używanie właściwości List.Count

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        int count = names.Count;
        Console.WriteLine($"Number of elements: {count}");
    }
}

2. Używanie metody LINQ Count

Jeśli preferowane jest LINQ, można je również wykorzystać do liczenia:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    public static void Main()
    {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        int count = names.Count();
        Console.WriteLine($"Number of elements: {count}");
    }
}

Drukowanie elementów listy na określonym indeksie

Drukowanie elementów na określonym indeksie polega na uzyskaniu dostępu do listy na tym indeksie. To pozwala uzyskać dostęp do elementów w różnych lokalizacjach i zapewnia obsługę potencjalnych scenariuszy nieprawidłowego zakresu indeksów:

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
        int indexToPrint = 1;
        if (indexToPrint >= 0 && indexToPrint < prices.Count)
        {
            Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
        }
        else
        {
            Console.WriteLine("Index out of range.");
        }
    }
}

Te przykłady stanowią podstawę do drukowania elementów listy w różnych scenariuszach. Istnieją inne przydatne metody, które klasa list oferuje do drukowania.

Niektóre przydatne metody to:

  • Remove: Metoda Remove() usuwa pierwsze wystąpienie na liście C#.
  • RemoveAll: Metoda RemoveAll() służy do usuwania elementów na podstawie określonego predykatu.
  • RemoveRange: Metoda RemoveRange() usuwa zakres elementów na podstawie określonych parametrów indeksu i liczby.
  • Add: Metoda Add() może dodać tylko jeden element na końcu listy.
  • AddRange: Metoda AddRange() może dodać elementy określonej kolekcji na końcu.
  • Clear: Metoda Clear() usuwa wszystkie elementy z listy.
  • Insert: Metoda Insert() wstawia element na liście pod wskazanym indeksem.
  • ForEach: Metoda ForEach() jest używana do wykonywania określonych działań na każdym elemencie, np. efektywnego drukowania każdej wartości listy.
  • ToArray: Metoda ToArray() kopiuje listę do nowej tablicy.

Teraz możesz wybrać podejście, które najlepiej odpowiada Twoim wymaganiom i zwiększa czytelność i efektywność Twojego kodu C#.

Metoda String.Join

Metoda String.Join zapewnia zwięzły sposób łączenia elementów listy w jeden string z określonym separatorem. Może to być przydatne do tworzenia sformatowanej reprezentacji łańcucha listy.

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        string result = string.Join(", ", numbers);
        Console.WriteLine(result);
    }
}

Tutaj elementy listy numbers są łączone w string, oddzielony przecinkiem i spacją, co daje sformatowany wynik. Metoda sortujaca może być używana przed drukowaniem elementów listy.

Użycie LINQ dla zaawansowanych scenariuszy

W przypadku bardziej złożonych scenariuszy, gdzie chcesz filtrować, transformować lub formatować elementy przed drukowaniem, Language-Integrated Query (LINQ) może być korzystny.

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
        Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
    }
}

W tym przykładzie, LINQ jest użyty do przefiltrowania parzystych liczb z oryginalnej listy. Metoda Where() jest zastosowana z wyrażeniem lambda, a metoda ToList() jest użyta do przekonwertowania wyniku z powrotem na listę.

C# Drukowanie listy (Jak to działa dla programistów): Rysunek 1 - Wyjście na konsoli: Liczby parzyste: 2, 4

Obiekty niestandardowe i metoda ToString()

Jeśli posiadasz listę niestandardowych obiektów, zaleca się nadpisanie metody ToString w klasie obiektu dla sensownej reprezentacji. Poniższy przykład pokazuje, jak to zrobić:

using System;
using System.Collections.Generic;

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public override string ToString()
    {
        return $"{Name}, {Age} years old";
    }
}

class Program
{
    public static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = "Bob", Age = 25 }
        };
        foreach (Person person in people)
        {
            Console.WriteLine(person);
        }
    }
}

Poprzez nadpisanie metody ToString() w klasie Person, kontrolujesz, jak instancje klasy są reprezentowane jako stringi. To poprawia czytelność Twojej listy, gdy jest drukowana.

C# Drukowanie listy (Jak to działa dla programistów): Rysunek 2 - Wyjście na konsoli

Przedstawienie IronPrint - Biblioteka drukowania C#

IronPrint wyróżnia się jako potężna i wdrażalna biblioteka drukowania, kładąc nacisk na dokładność, łatwość użycia i szybkość. Jej wsparcie międzyplatformowe i zgodność z różnorodnymi formatami dokumentów czynią ją cennym narzędziem dla programistów .NET szukających wydajnych rozwiązań drukowania w swoich aplikacjach.

C# Drukowanie listy (Jak to działa dla programistów): Rysunek 3 - IronPrint for .NET: Biblioteka Druku C#

Najważniejsze cechy

Oto niektóre kluczowe funkcje, które sprawiają, że IronPrint wyróżnia się w drukowaniu fizycznych dokumentów w aplikacjach C#:

1. Zgodność międzyplatformowa

  • Obsługa wersji .NET: .NET 8, 7, 6, 5 i Core 3.1+
  • Operating Systems: Windows (7+, Server 2016+), macOS (10+), iOS (11+), Android API 21+ (v5 "Lollipop")
  • Typy projektów: mobilne (Xamarin & MAUI & Avalonia), desktopowe (WPF & MAUI & Windows Avalonia), konsolowe (aplikacje i biblioteki)

2. Obsługiwane formaty

  • Obsługuje różne formaty dokumentów, w tym PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE i BITMAP.
  • Dostosuj ustawienia drukowania według wymagań dokumentu.

3. Łatwa instalacja

Zainstaluj bibliotekę IronPrint za pomocą konsoli Menedżera pakietów NuGet:

PM > Install-Package IronPrint

Alternatywnie można zainstalować go w projekcie za pomocą programu Visual Studio. Kliknij prawym przyciskiem myszy na projekt w Eksploratorze rozwiązań i kliknij Zarządzaj Menedżerem Pakietu NuGet dla Rozwiązań. W zakładce przeglądania NuGet poszukaj IronPrint, wybierz najnowszą wersję pakietu IronPrint z wyników wyszukiwania, a następnie kliknij przycisk Zainstaluj, aby dodać go do projektu.

Drukowanie z IronPrint: Przykłady kodu

1. Drukuj dokument

IronPrint oferuje ciche drukowanie dokumentów, używając prostej metody Print. Jeśli fizyczna drukarka nie jest dostępna, drukuje za pomocą domyślnej drukarki określonej przez system operacyjny.

using IronPrint;

class Program
{
    static void Main()
    {
        // Print the document
        Printer.Print("newDoc.pdf");
    }
}

2. Drukuj z dialogiem

Dzięki temu dostępna jest również dedykowana metoda do wyświetlenia print dialogu dla lepszej kontroli podczas drukowania. Metoda ShowPrintDialogAsync może być również użyta do drukowania asynchronicznego.

using IronPrint;

class Program
{
    static void Main()
    {
        // Show print dialog
        Printer.ShowPrintDialog("newDoc.pdf");
    }
}

3. Dostosuj ustawienia drukowania

IronPrint oferuje różne print ustawienia, które pozwalają na szczegółową kontrolę nad drukowaniem dokumentu.

using IronPrint;

class Program
{
    static void Main()
    {
        // Configure print settings
        PrintSettings printSettings = new PrintSettings()
        {
            Dpi = 150,
            NumberOfCopies = 2,
            PaperOrientation = PaperOrientation.Portrait
        };
        // Print the document
        Printer.Print("newDoc.pdf", printSettings);
    }
}

Aby lepiej zrozumieć wykorzystywane klasy i metody, proszę odwiedź stronę Dokumentacja API.

Wnioski

Drukowanie listy w C# obejmuje wybór odpowiedniej metody w zależności od złożoności danych i pożądanego wyniku. Niezależnie od tego, czy używasz prostego loopu, String.Join(), LINQ, czy dostosowujesz metodę ToString() dla niestandardowych obiektów, zrozumienie tych podejść pozwala skutecznie wyświetlać zawartość list w aplikacjach C#. Eksperymentuj z tymi technikami i wybierz tę, która najlepiej pasuje do twojego konkretnego przypadku użycia.

IronPrint to twoja biblioteka do drukowania, jeśli chodzi o dokładność, łatwość użycia i szybkość. Niezależnie od tego, czy budujesz WebApps, pracujesz z MAUI, Avalonia, czy cokolwiek związanego z .NET, IronPrint jest dla Ciebie. Aby uzyskać bardziej szczegółowe informacje o IronPrint, odwiedź tę stronę dokumentacji.

IronPrint to płatna biblioteka, ale dostępna jest darmowa wersja próbna. Pobierz bibliotekę z tutaj i spróbuj!

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ącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta