IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Warten auf Sekunden (Wie es für Entwickler funktioniert)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 23. April 2026

Beim Programmieren möchten Sie manchmal die Ausführung Ihres Codes für eine bestimmte Zeitspanne pausieren oder verzögern. Dies dient dazu, unterschiedliche Zeitbedingungen zu simulieren, bestimmte Aufgaben zu priorisieren, andere Aufgaben auszuführen, ohne den Hauptthread zu blockieren, und mehr.

In diesem Leitfaden erklären wir, wie Sie in C# warten, einschließlich asynchroner Methoden, Sleep-Befehle, Sleep-Funktionen, Konsolenanwendungen und wie Sie eine Wartefunktion in unserem branchenführenden PDF-Generierungstool, IronPDF, integrieren.

Wie wartet man eine Aufgabe in C#

Der Befehl Sleep

'Sleep' ist ein einfacher, aber leistungsstarker Befehl, mit dem Sie die Ausführung Ihrer aktuellen Aufgabe für einen bestimmten Zeitraum pausieren können, wobei Sie Ihr Programm im Grunde anweisen, vor dem Fortfahren mit der nächsten Aufgabe zu warten. In C# machen wir dies mit der Thread.Sleep(int milliseconds) Methode, wie im folgenden Codebeispiel:

using System;
using System.Threading;

class Program
{
    public static void Main()
    {
        Console.WriteLine("Starting the program...");
        Thread.Sleep(3000); // Sleep for 3 seconds
        Console.WriteLine("...Program continues after 3 seconds");
    }
}

Hier startet das Programm, indem es "Programm wird gestartet..." in die Konsole druckt, bevor die Thread.Sleep Methode verwendet wird, um für 3.000 Millisekunden (oder drei Sekunden) zu pausieren. Nach der angegebenen Verzögerung wird das Programm fortgesetzt und gibt die Ausgabe "...Programm geht nach 3 Sekunden weiter" in die Konsole aus.

Async-Methode und Aufgaben

Asynchrone Methoden in C# ermöglichen es Ihnen, mehrere Aufgaben gleichzeitig auszuführen, ohne den Hauptthread zu beeinflussen. Das bedeutet, dass während eine Aufgabe wartet, andere Aufgaben weiterlaufen können. Um eine asynchrone Methode zu implementieren, müssen Sie das async Schlüsselwort und die Task Klasse verwenden.

using System;
using System.Threading.Tasks;

class Program
{
   public static async Task Main()
   {
       Console.WriteLine("Starting Task 1...");
       var task1 = DoSomethingAsync(3000);
       Console.WriteLine("Starting Task 2...");
       var task2 = DoSomethingAsync(2000);

       await Task.WhenAll(task1, task2);
       Console.WriteLine("Both tasks completed.");
   }

   private static async Task DoSomethingAsync(int milliseconds)
   {
       await Task.Delay(milliseconds); // Asynchronously wait without blocking the main thread
       Console.WriteLine($"Task completed after {milliseconds} milliseconds");
   }
}

In diesem Codebeispiel haben wir zwei Aufgaben, die gleichzeitig ausgeführt werden. Die DoSomethingAsync Methode nimmt einen int Parameter, der die Zeit in Millisekunden darstellt, um die die Aufgabe verzögert werden soll (wie Sie in den 3000 und 2000 im Code sehen können, beide ein Timeout-Wert). Die Task.Delay Methode ist der Thread.Sleep() Methode ähnlich, arbeitet jedoch mit asynchronen Aufgaben und blockiert nicht den Haupt-Thread.

Verwendung von Timern zur Planung von Aufgaben

Timer in C# ermöglichen es Ihnen, eine bestimmte Aufgabe nach einem bestimmten Intervall auszuführen. Sie können einen Timer durch die Verwendung der System.Timers.Timer Klasse erstellen. Hier ist ein Beispiel, wie Sie einen Timer in einer Konsolenanwendung verwenden:

using System;
using System.Timers;

class Program
{
   public static void Main()
   {
       var timer = new Timer(1000); // Create a timer with a 1-second interval
       timer.Elapsed += OnTimerElapsed;
       timer.AutoReset = true;
       timer.Enabled = true;

       Console.WriteLine("Press any key to exit...");
       Console.ReadKey();
   }

   private static void OnTimerElapsed(object sender, ElapsedEventArgs e)
   {
       Console.WriteLine("Timer ticked at " + e.SignalTime);
   }
}

In dem obigen Beispiel erstellen wir einen Timer mit einem 1-Sekunden-Intervall. Die OnTimerElapsed Methode wird jedes Mal ausgeführt, wenn der Timer tickt. Wir setzen die AutoReset Eigenschaft auf true, damit der Timer nach jedem Tick automatisch neu startet. Die Enabled Eigenschaft wird auf true gesetzt, um den Timer zu starten.

Wenn Sie diese Konsolenanwendung ausführen, sehen Sie, wie der Timer jede Sekunde tickt und die Tick-Zeit in die Konsole ausgibt. Das Programm läuft weiter, bis Sie eine Taste drücken, um es zu beenden.

Benutzerdefinierte Wartefunktionen erstellen

Manchmal benötigen Sie möglicherweise eine benutzerdefinierte Wartefunktion, um spezifische Anforderungen in Ihrem Code zu erfüllen. Zum Beispiel möchten Sie möglicherweise eine Wartefunktion erstellen, die nur die aktuelle Aufgabe blockiert, nicht jedoch den gesamten Thread. Dies können Sie mit asynchronen Delegaten erreichen.

Hier ist ein Beispiel für eine benutzerdefinierte Wartefunktion:

using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
   public static async Task Main()
   {
       Console.WriteLine("Starting Task 1...");
       await CustomWaitAsync(3000);
       Console.WriteLine("Task 1 completed.");

       Console.WriteLine("Starting Task 2...");
       await CustomWaitAsync(2000);
       Console.WriteLine("Task 2 completed.");
   }

   private static async Task CustomWaitAsync(int milliseconds)
   {
       await Task.Run(() => Thread.Sleep(milliseconds)); // Run in a separate task to avoid blocking the main thread
   }
}

Hier akzeptiert die CustomWaitAsync Methode einen int Parameter, der die Verzögerungszeit in Millisekunden darstellt. Die Methode verwendet ein asynchrones Delegat, um die Thread.Sleep Funktion innerhalb einer neuen Aufgabe auszuführen, was sicherstellt, dass der aktuelle Aufgabenstatus blockiert ist, während gewartet wird, nicht jedoch der Haupt-Thread.

Auswahl der richtigen Wartestrategie

Da wir nun die C#-Wartedeclaration, den Sleep-Befehl, asynchrone Methoden, Timer und benutzerdefinierte Wartefunktionen behandelt haben, ist es wichtig zu wissen, wann welche Technik eingesetzt werden sollte. Hier ist eine kurze Zusammenfassung:

  • Verwenden Sie die Thread.Sleep Funktion, wenn Sie eine einfache Möglichkeit benötigen, die Ausführung Ihres Codes für eine bestimmte Zeitspanne zu pausieren.
  • Verwenden Sie asynchrone Methoden und Aufgaben, wenn Sie mehrere Aufgaben gleichzeitig ausführen möchten, ohne den Hauptthread zu blockieren.
  • Verwenden Sie Timer, wenn Sie eine bestimmte Aufgabe in einem bestimmten Intervall ausführen müssen.
  • Erstellen Sie benutzerdefinierte Wartefunktionen, wenn Sie spezifische Anforderungen haben, die von den eingebauten Methoden nicht erfüllt werden.

Erzeugen von PDFs mit IronPDF unter Verwendung der Wait-Funktion

IronPDF ist eine leichtgewichtige .NET PDF-Bibliothek, die speziell für Webentwickler entwickelt wurde. Es macht das Lesen, Schreiben und Bearbeiten von PDF-Dateien zum Kinderspiel, kann alle Arten von Dateitypen in PDF-Inhalte konvertieren, und Sie können es in Ihren .NET-Projekten sowohl für Desktop- als auch Webanwendungen verwenden. Das Beste daran - es ist kostenlos in einer Entwicklungsumgebung auszuprobieren. Lassen Sie uns eintauchen.

IronPDF arbeitet mit HTML-Dateien, URLs, rohen Zeichenfolgen und ZIP-Dateien. Hier ist eine kurze Übersicht über den Code:

using IronPdf;

class Program
{
   static void Main(string[] args)
   {
       var renderer = new ChromePdfRenderer();

       // 1. Convert HTML String to PDF
       var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
       var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
       pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

       // 2. Convert HTML File to PDF
       var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
       var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
       pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

       // 3. Convert URL to PDF
       var url = "http://ironpdf.com"; // Specify the URL
       var pdfFromUrl = renderer.RenderUrlAsPdf(url);
       pdfFromUrl.SaveAs("URLToPDF.pdf");
   }
}

IronPDF kann nahtlos in Ihre Wartestrategien integriert werden, um PDF-Dokumente nach der Ausführung von Aufgaben, während geplanter Intervalle oder wenn der aktuelle Thread die Ausführung wieder aufnimmt, zu erstellen.

Zum Beispiel können Sie IronPDF in Kombination mit einer asynchronen Methode verwenden, um einen PDF-Bericht zu generieren, nachdem Daten aus einer Datenbank abgerufen wurden, ohne den Hauptthread zu blockieren. Ebenso können Sie eine Timer-Klasse verwenden, um in regelmäßigen Abständen eine PDF-Schnappschuss Ihrer Anwendungsdaten zu erstellen.

Die IronPDF-Bibliothek installieren

IronPDF ist einfach zu verwenden, aber noch einfacher zu installieren. Es gibt einige Möglichkeiten, wie Sie dies tun können:

Methode 1: NuGet Paket-Manager-Konsole

Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf Verweise und dann auf NuGet-Pakete verwalten. Klicken Sie auf Durchsuchen, suchen Sie 'IronPDF' und installieren Sie die neueste Version. Wenn Sie dies sehen, funktioniert es:

Sie können auch zu Werkzeuge -> NuGet-Paketmanager -> Paketmanager-Konsole gehen und die folgende Zeile im Paketmanager-Tab eingeben:

PM > Install-Package IronPdf

Schließlich können Sie IronPDF direkt von der offiziellen NuGet-Website erhalten. Wählen Sie die Paket herunterladen-Option aus dem Menü auf der rechten Seite der Seite, doppelklicken Sie auf Ihren Download, um es automatisch zu installieren, und laden Sie die Lösung neu, um es in Ihrem Projekt zu verwenden.

Funktionierte nicht? Sie finden plattformspezifische Hilfe auf unserer erweiterten NuGet-Installationsseite.

Methode 2: Verwenden einer DLL-Datei

Sie können die IronPDF-DLL-Datei auch direkt von uns erhalten und manuell zu Visual Studio hinzufügen. Für vollständige Anweisungen und Links zu den Windows-, MacOS- und Linux-DLL-Paketen besuchen Sie unsere spezielle Installationsseite.

Wie man C# Wait in IronPDF verwendet

Sie können sehen, wie eine Wartefunktion in IronPDF integriert wird, im folgenden Beispiel:

using System;
using System.Threading.Tasks;
using System.Diagnostics;
using IronPdf;

class Program
{
   public static async Task Main()
   {
       Console.WriteLine("Starting the PDF generation task...");
       Stopwatch stopwatch = Stopwatch.StartNew();
       await Task.Delay(3000); // Wait for 3 seconds
       GeneratePdf();
       Console.WriteLine("PDF generated successfully.");
   }

   private static void GeneratePdf()
   {
       var htmlToPdf = new ChromePdfRenderer();
       var pdf = htmlToPdf.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
       pdf.SaveAs("HelloWorld.pdf");
   }
}

Hier verwenden wir die Task.Delay Methode, um drei Sekunden zu warten, bevor ein PDF erzeugt wird. Das PDF wird dann als "HelloWorld.pdf" im Arbeitsverzeichnis der Anwendung gespeichert, wenn das Warten abgeschlossen ist.

Und hier ist das Endprodukt:

Verwendung der Wait-Methode mit IronPDF

In C#-Anwendungen können Sie die Schlaf-Funktion effizient verwenden, um den aktuellen Thread und die CPU-Zeit zu verwalten, während Sie Vorgänge wie das Laden von Daten in eine DataTable oder das Generieren von PDF-Berichten mit IronPDF ausführen.

Abschluss

Es mag anfangs kontraintuitiv erscheinen, aber Warteanweisungen in Ihren Code einzubauen, ist eine notwendige Fähigkeit beim Erstellen effizienter Anwendungen. Und durch die Integration von IronPDF können Sie Ihre Anwendungen auf die nächste Stufe heben, indem Sie PDF-Dokumente spontan erstellen, ohne den Hauptthread zu blockieren.

Bereit, IronPDF selbst auszuprobieren? Sie können mit unserer 30-tägigen kostenlosen Testversion beginnen. Es ist auch völlig kostenlos für Entwicklungszwecke, sodass Sie wirklich sehen können, woraus es besteht. Und wenn Ihnen gefällt, was Sie sehen, startet IronPDF bereits ab $999. Für noch größere Einsparungen sehen Sie sich die Iron Suite an, wo Sie alle neun Iron Software-Tools zum Preis von zwei erhalten. Viel Spaß beim Coden!

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

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $