IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Const (So funktioniert es für Entwickler)

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

In C# ist ein const-Schlüsselwort ein leistungsstarkes Werkzeug für die Definition von konstanten Feldern oder Werten, die zur Kompilierzeit bekannt sind. Diese Werte sind unveränderlich, was bedeutet, dass sie, sobald sie gesetzt sind, im gesamten Programm nicht mehr geändert werden können. Die Verwendung von const kann Ihren Code lesbarer und wartbarer machen, da sie eine klare Angabe von Werten bietet, die konstant bleiben sollen. In diesem Artikel werden wir das const-Schlüsselwort und die IronPDF-Bibliothek besprechen.

Konstante Variablen deklarieren

Um eine konstante Variable zu deklarieren, verwenden Sie das const-Schlüsselwort gefolgt von einem Datentyp, und initialisieren sie dann sofort. Zum Beispiel, const int myConstValue = 100; definiert eine Ganzzahl-Konstante. Es ist wichtig zu beachten, dass eine konstante Variable beim Deklarieren initialisiert werden muss, da ihr Wert zur Kompilierzeit bestimmt werden soll und vollständig ausgewertet wird, bevor das Programm ausgeführt wird.

public class Program
{
    public const int MaxSize = 10;

    static void Main(string[] args)
    {
        Console.WriteLine(MaxSize);
    }
}

C# Konstante (Wie es für Entwickler funktioniert): Abbildung 1 - Konstantenausgabe

Dieses Beispiel illustriert eine einfache Verwendung eines konstanten Ganzzahlwertes (const int) innerhalb einer Klasse. Die MaxSize-Konstante ist innerhalb derselben Klasse zugänglich und kann direkt in der static void Main-Methode verwendet werden.

const vs. readonly-Variablen

Obwohl sowohl const als auch readonly-Schlüsselwörter verwendet werden, um unveränderliche Werte zu deklarieren, gibt es wichtige Unterschiede zwischen ihnen. Ein const-Feld ist eine Kompilierzeitkonstante, was bedeutet, dass ihr Wert zur Kompilierzeit bestimmt wird und direkt in den Zwischensprache (IL) Code eingebettet ist. Das macht es automatisch statisch und es kann nicht modifiziert werden.

Andererseits kann eine readonly-Variable entweder zum Zeitpunkt der Deklaration oder innerhalb eines Klassenkonstruktors zugewiesen werden. Dies bietet etwas Flexibilität, da readonly-Felder unterschiedliche Werte haben können, abhängig davon, welcher Konstruktor verwendet wird, um die Klasse zu instanziieren.

public class Program
{
    public const string ConstExample = "Constant"; // const string
    public readonly string ReadonlyExample;

    public Program()
    {
        ReadonlyExample = "Initialized at runtime";
    }

    static void Main(string[] args)
    {
        Program p = new Program();
        Console.WriteLine(ConstExample);
        Console.WriteLine(p.ReadonlyExample);
    }
}

C# Konstante (Wie es für Entwickler funktioniert): Abbildung 2 - ReadOnly-Feld-Ausgabe

Umfang der Konstanten-Variablen

Konstante Variablen können innerhalb einer Methode oder als Mitglied einer Klasse deklariert werden. Wenn Sie eine const-Variable innerhalb einer Methode deklarieren, wird sie als lokale Konstante bezeichnet. Lokale Konstanten sind nur innerhalb der Methode zugänglich, in der sie deklariert wurden.

public class Program
{
    static void DemoMethod()
    {
        const int LocalConst = 5; // local constant
        Console.WriteLine(LocalConst);
    }
}

C# Konstante (Wie es für Entwickler funktioniert): Abbildung 3 - Lokale Konstantenausgabe

Im Gegensatz dazu, wenn ein const innerhalb einer Klasse, aber außerhalb einer Methode deklariert wird, ist es von jeder statischen Funktion desselben aus zugänglich, da const-Felder implizit statisch sind. Wenn jedoch versucht wird, auf ein const-Feld von einer Instanzmethode aus ohne über den Klassennamen zuzugreifen, wird ein Kompilierungsfehler verursacht.

Kompilierzeit vs. Laufzeitkonstanten

Das Hauptmerkmal von const-Werten ist, dass sie zur Kompilierzeit ausgewertet werden. Dies bedeutet, dass der Wert eines const-Feldes dem Compiler bekannt und vollständig ausgewertet sein muss. Dies steht im Gegensatz zu Variablen, die zur Laufzeit ausgewertet werden, deren Werte während der Programmausführung bestimmt werden.

Zum Beispiel, der Versuch, einem const-Feld einen Wert zuzuweisen, basierend auf einer Berechnung, die zur Laufzeit durchgeführt wird, wird einen Kompilierungsfehler verursachen. Der Compiler erfordert, dass const-Werte aus konstanten Ausdrücken oder literalen Werten zugewiesen werden, die zur Kompilierzeit bekannt sind.

const double Pi = Math.PI; // This will cause a compile time error

Advanced Use of Constants and Static Members in C#

Über die Grundlagen von const und readonly in C# hinaus kann das Verständnis, wie man mit konstanten Ausdrücken, statischen Konstruktoren und statischen Feldern arbeitet, Ihre Codierungspraktiken verbessern, besonders wenn es darum geht, konstante Werte zu behandeln, die zwischen Instanzen einer Klasse geteilt werden müssen.

Konstante Ausdrücke

Ein konstanter Ausdruck in C# ist ein Ausdruck, der vollständig zur Kompilierzeit ausgewertet werden kann. Deshalb muss die rechte Seite der Deklaration einer const-Variablen ein konstanter Ausdruck sein. Dies stellt sicher, dass der const-Wert fest ist und direkt in den kompilierten Code eingebettet werden kann, was zu hoch optimierten und effizienten Anwendungen führt.

public class Calculator
{
    public const int Multiplier = 2;
    public const int DoubleMultiplier = Multiplier * 2; // Constant expression
}

In diesem Beispiel ist DoubleMultiplier ein konstanter Ausdruck, da er mit einem anderen konstanten Wert berechnet wird, was ihn berechtigt, eine Kompilierzeitkonstante zu sein.

Statischer Konstruktor

Ein statischer Konstruktor in C# ist ein spezieller Konstruktor, der statische Felder der Klasse initialisiert. Er wird automatisch aufgerufen, bevor die erste Instanz erstellt oder statische Mitglieder referenziert werden. Statische Konstruktoren sind nützlich für komplexe Initialisierungen von statischen Daten oder um Aktionen durchzuführen, die einmal pro Typ statt pro Instanz erfolgen müssen.

public class Program
{
    public static readonly string StartTime;

    static Program()
    {
        StartTime = DateTime.Now.ToString("T");
    }

    public static void DisplayStartTime()
    {
        Console.WriteLine($"Program started at: {StartTime}");
    }
}

Der statische Konstruktor initialisiert das StartTime-Feld mit der aktuellen Zeit. Dieser Wert ist dann über die DisplayStartTime statische Methode zugänglich, was zeigt, wie statische Konstruktoren verwendet werden können, um readonly-Felder mit Werten zu initialisieren, die zur Laufzeit nicht bekannt sind.

Statische Felder und die Schlüsselwörter readonly und static

Statische Felder gehören zur Klasse und nicht zu einer Instanz der Klasse und werden mit dem static-Schlüsselwort deklariert. In Kombination mit dem readonly-Schlüsselwort kann ein statisches Feld entweder zum Zeitpunkt der Deklaration oder innerhalb eines statischen Konstruktors initialisiert werden und kann danach nicht mehr geändert werden.

public class Configuration
{
    public static readonly int MaxUsers;
    public const int TimeoutSeconds = 30;

    static Configuration()
    {
        MaxUsers = FetchMaxUsersFromConfig();
    }

    private static int FetchMaxUsersFromConfig()
    {
        // Imagine this method reads from a configuration file
        return 100;
    }
}

Dieses Beispiel zeigt die Verwendung eines Konstruktors, der statisch ist, um ein readonly statisches Feld, MaxUsers, mit einem Wert zu initialisieren, der zur Laufzeit abgerufen wird, möglicherweise aus einer Konfigurationsdatei. Das const-Feld, TimeoutSeconds, stellt eine Kompilierzeitkonstante dar, die direkt in den Code eingebettet ist.

Einführung in IronPDF

C# Konstante (Wie es für Entwickler funktioniert): Abbildung 4 - IronPDF

IronPDF ist eine vielseitige Bibliothek, die es Entwicklern ermöglicht, PDF-Dokumente in .NET-Anwendungen zu erstellen, zu bearbeiten und zu lesen. Dieses leistungsstarke Tool vereinfacht die PDF-Erstellung, indem es Entwicklern ermöglicht, HTML in PDF zu konvertieren, Inhalte zu manipulieren und Daten aus PDF-Dateien leicht zu extrahieren.

Die Stärke von IronPDF liegt in der Umwandlung von HTML in PDF, wobei sowohl Layout als auch Stil erhalten bleiben. Es ist ein ideales Tool zum Erstellen von PDFs aus Webinhalten wie Berichten, Rechnungen und Dokumentationen. HTML-Dateien, URLs und HTML-Strings können problemlos in PDF-Dateien umgewandelt werden.

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");
    }
}

Einführung in IronPDF und Konst-Beispiel

Um zu demonstrieren, wie IronPDF in ein .NET-Projekt integriert werden kann, sehen wir uns ein einfaches Beispiel an, bei dem wir eine Konstante verwenden, um den HTML-String zu definieren, den wir in ein PDF-Dokument konvertieren möchten.

using IronPdf;

public class PdfGenerator
{
    // Defining a constant HTML template
    public const string HtmlTemplate = @"
        <html>
            <head>
                <title>PDF Report</title>
            </head>
            <body>
                <h1>IronPDF Report</h1>
                <p>This is a simple PDF document generated from HTML string using IronPDF.</p>
            </body>
        </html>";

    public static void CreatePdf(string filePath)
    {
        IronPdf.License.LicenseKey = "License";

        // Create a new PDF document from HTML template
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HtmlTemplate);

        // Save the PDF document to a file
        pdf.SaveAs(filePath);
        Console.WriteLine($"PDF generated successfully at {filePath}");
    }
}

class Program
{
    static void Main(string[] args)
    {
        PdfGenerator.CreatePdf("example.pdf");
    }
}

In diesem Beispiel wird die HtmlTemplate-Konstante mit einfachem HTML-Inhalt definiert, der als Quelle für unser PDF-Dokument dient. Die CreatePdf-Methode nutzt die ChromePdfRenderer-Klasse von IronPDF, um dieses HTML in ein PDF zu konvertieren und es im angegebenen Dateipfad zu speichern. Dies zeigt, wie einfach IronPDF verwendet werden kann, um PDFs aus statischen HTML-Inhalten zu generieren, wobei das const-Schlüsselwort zur Definition unveränderlicher HTML-Vorlagen genutzt wird.

Ausgabe

Hier ist die Ausgabe-PDF-Datei:

C# Konstante (Wie es für Entwickler funktioniert): Abbildung 5 - PDF-Ausgabe

Abschluss

In C# ist das const-Schlüsselwort eine wertvolle Funktion zur Definition unveränderlicher Werte, die zur Kompilierzeit bekannt sind. Es trägt zur Verbesserung der Lesbarkeit und Wartbarkeit Ihres Codes bei, indem es klar angibt, welche Werte konstant sind. Denken Sie daran, dass const-Variablen implizit statisch sind, bei der Deklaration initialisiert werden müssen und ihre Werte Kompilierzeitkonstanten sein müssen. Vergleichsweise bieten readonly-Variablen mehr Flexibilität, werden jedoch zur Laufzeit initialisiert.

IronPDF zeichnet sich nicht nur durch seine robusten Funktionen in der PDF-Manipulation aus, sondern auch durch sein flexibles Adoptionsmodell. Für Entwickler und Organisationen, die seine Fähigkeiten erkunden möchten, bietet IronPDF eine kostenlose Testversion an, die eine hervorragende Gelegenheit bietet, seine Funktionen und Integrationseffizienz ohne anfängliche Investition zu bewerten.

Wenn Sie bereit sind, mit der kommerziellen Nutzung von IronPDF fortzufahren, beginnen die Lizenzierungsoptionen bei $999. Diese Preistruktur soll den Bedürfnissen unterschiedlicher Projektgrößen und -typen gerecht werden und stellt sicher, dass Sie eine Lizenz auswählen können, die am besten zu Ihren Entwicklungs- und Vertriebsplänen passt.

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 $