Zum Fußzeileninhalt springen
.NET HILFE

C# Numerische Typen (Wie es für Entwickler funktioniert)

In C# sind numerische Typen eine Reihe von Datentypen, die zur Speicherung von Zahlen verwendet werden und in zwei Hauptkategorien unterteilt werden können: Ganzzahltypen und Gleitkommabereichtypen. Jede Kategorie hat ihre eigenen einzigartigen Merkmale und Anwendungsfälle.

Numerische Typen bilden die Grundlage zahlreicher Operationen in C#, von finanziellen und monetären Berechnungen bis hin zu komplexen Algorithmen. Wenn Sie C# meistern möchten, müssen Sie diese Werttypen beherrschen.

Ganzzahlige Datentypen

Ganzzahl-Datentypen werden verwendet, um ganze Zahlen zu speichern, und können entweder vorzeichenbehaftet (fähig, sowohl positive als auch negative Zahlen zu halten) oder vorzeichenlos (fähig, nur positive Zahlen zu halten) sein. Hier ist eine Aufschlüsselung der Ganzzahltypen in C#:

Byte

Das Byte ist der kleinste Ganzzahltyp. Es ist ein vorzeichenloser Typ mit einem Standardwert von 0, der Werte von 0 bis 255 speichern kann.

Sbyte

Das sbyte ist das vorzeichenbehaftete Gegenstück zum byte. Es kann Werte von -128 bis 127 speichern, mit einem Standardwert von 0.

Kurz

Ein short ist eine 16-Bit-vorzeichenbehaftete Ganzzahl. Es hat einen größeren Bereich als das byte und sbyte, von -32.768 bis 32.767, mit einem Standardwert von 0.

Kurz

ushort ist das vorzeichenlose Gegenstück zum short. Es kann Werte von 0 bis 65.535 halten. Sein Standardwert ist ebenfalls 0.

int

Ein int-Typ ist ein 32-Bit-vorzeichenbehafteter Ganzzahltyp mit einem Bereich von -2.147.483.648 bis 2.147.483.647. Der Standardwert einer ganzzahligen Variablen des Typs int ist 0.

uint

Der uint, kurz für "unsigned integer" (vorzeichenlose Ganzzahl), kann Werte von 0 bis 4.294.967.295 halten. Sein Standardwert ist 0.

Lang

Long ist ein 64-Bit-vorzeichenbehafteter Ganzzahltyp, der in der Lage ist, Werte von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 zu speichern. Der Standardwert eines long ist 0L.

Kopf

Das ulong, oder unsigned long (vorzeichenloses Long), kann Werte von 0 bis 18.446.744.073.709.551.615 speichern. Sein Standardwert ist 0UL.

Gleitkommazahlen-Typen

Gleitkommatypen werden verwendet, um Zahlen mit Dezimalstellen zu speichern. Eine Gleitkommazahl bietet einen viel weiteren Wertebereich als Ganzzahltypen, jedoch mit einem Kompromiss in der Genauigkeit. Hier sind die Gleitkommatypen in C#:

Float

Ein float ist ein 32-Bit-Gleitkommatyp. Es kann Werte von ungefähr 1,5 x 10^-45 bis 3,4 x 10^38 darstellen, mit einer Genauigkeit von 7 Stellen. Der Standardwert einer Gleitkomma-Variablen des Typs float ist 0,0f.

Doppel

Der double-Typ ist ein 64-Bit-Gleitkommatyp. Es kann Werte von ungefähr 5,0 x 10^-324 bis 1,7 x 10^308 darstellen, mit einer Genauigkeit von 15-16 Stellen. Der Standardwert eines double ist 0,0d.

Dezimal

Der decimal-Typ ist ein 128-Bit-Datentyp. Es wird oft verwendet, wenn mit finanziellen Berechnungen gearbeitet wird, die hohe Genauigkeit erfordern. Es kann Werte von ungefähr 1,0 x 10^-28 bis 7,9 x 10^28 darstellen, mit einer Genauigkeit von 28-29 Stellen. Der Standardwert eines decimal-Typs ist 0,0m.

Unterstanding Native Sized Integer Types

Native Ganzzahltypen sind spezielle Typen in C#, deren Größe je nach Plattform variiert, auf der der Code läuft. Diese sind so konzipiert, dass sie den effizientesten Einsatz von Speicherplatz für die Speicherung von Ganzzahlwerten bieten.

IntPtr

IntPtr ist ein vorzeichenbehafteter Ganzzahltyp, der die gleiche Breite hat wie ein Zeiger. Das bedeutet, dass es auf 32-Bit-Plattformen 32-Bit und auf 64-Bit-Plattformen 64-Bit ist. Dies ist nützlich beim Umgang mit Zeiger- oder speicherbezogenen Aufgaben, und der Standardwert eines IntPtr ist 0.

UIntPtr

UIntPtr, das unsigned Pendant zu IntPtr, hat ebenfalls die gleiche Größe wie ein Zeiger. Es bietet den gleichen Wertebereich wie IntPtr auf derselben Plattform, jedoch nur für nicht-negative Werte. Der Standardwert eines UIntPtr ist ebenfalls 0.

Umwandlung zwischen Ganzzahl- und Fließkommatypen

Je nach Anwendungsfall ist es wichtig, den richtigen Datentyp in Ihrem Code zu verwenden. In vielen Fällen haben Sie möglicherweise einen Wert eines Typs und müssen diesen als einen anderen Typ verwenden.

Implizite Konvertierungen erfolgen automatisch, wenn der zu konvertierende Wert in den neuen Datentyp passt, ohne dass Informationen verloren gehen. Beispielsweise können Sie einen int implizit in einen long konvertieren, da ein long denselben Wert wie ein int speichern kann.

Explizite Konvertierungen, auch bekannt als Casting, sind erforderlich, wenn das Risiko eines Datenverlustes besteht. Zum Beispiel kann die Konvertierung eines long in einen int zu Datenverlust führen, wenn der Wert des long größer ist, als ein int halten kann.

Um einen Wert explizit von einem Typ in einen anderen zu werfen, können Sie den Casting-Operator () verwenden:

long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
$vbLabelText   $csharpLabel

Seien Sie vorsichtig beim Casting, da es zu unerwarteten Ergebnissen führen kann, wenn der Wert außerhalb des Bereichs des Zieltyps liegt.

Anwendung numerischer Typen mit IronPDF

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.

Sicherheitsvorteil zur Kompilierzeit

Positionierung und Größenbestimmung von Elementen

In diesem Beispiel passen wir die Position und Größe von Elementen auf einer Seite an. In IronPDF werden Koordinaten mit einem Gleitkommatyp definiert.

using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
$vbLabelText   $csharpLabel

Ausgabe PDF-Datei

Verstehen von C#-Numerischen Typen, Bild #1

Abschluss

Von grundlegenden Berechnungen bis zur Anpassung des Layouts eines generierten PDFs sind Zahltypen ein wichtiger Bestandteil einer effektiven und effizienten C#-Programmierung. Sie dienen als Bausteine zur Datenmanipulation, Algorithmusgestaltung und Erstellung hochwertiger PDF-Dokumente.

Möchten Sie IronPDF ausprobieren? 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, beginnt IronPDF bereits ab liteLicense. Für noch größere Einsparungen prüfen Sie die [Iron Suite](Iron Suite), bei der Sie alle neun Iron Software-Tools zum Preis von zwei erhalten können. Viel Spaß beim Coden!

Verstehen von C#-Numerischen Typen, Bild #2

Häufig gestellte Fragen

Wie kann ich HTML-Inhalte mit C# in ein PDF konvertieren?

Sie können HTML-Inhalte in PDF in C# umwandeln, indem Sie die RenderHtmlAsPdf-Methode von IronPDF nutzen, die es Ihnen ermöglicht, HTML-Strings direkt in PDF-Dokumente zu transformieren. Zusätzlich können Sie RenderHtmlFileAsPdf verwenden, um HTML-Dateien zu konvertieren.

Was sind die Hauptunterschiede zwischen Ganzzahl- und Fließkommatypen in C#?

In C# werden Ganzzahltypen für ganze Zahlen verwendet und umfassen Typen wie byte, int und long. Fließkommatypen, wie float und double, verarbeiten Zahlen mit Dezimalpunkten und bieten einen größeren Bereich, aber geringere Genauigkeit.

Warum sollte ich in C# einen Dezimaltyp einem Double vorziehen?

Der Dezimaltyp bietet höhere Genauigkeit und ist ideal für finanzielle Berechnungen, bei denen eine genaue Darstellung der Dezimalstellen entscheidend ist. Er kann Werte mit einer Genauigkeit von 28-29 Stellen darstellen, verglichen mit den 15-16 Stellen eines Doubles.

Wie profitieren C#-Entwickler von nativen Ganzzahltypen?

Native Ganzzahltypen wie IntPtr und UIntPtr passen ihre Größe basierend auf der Plattform an, was Speicher effizient für Aufgaben macht, wie das Handling von Speicheradressen und Zeigern in plattform-spezifischen Szenarien.

Welche Rolle spielen numerische Typen bei der PDF-Erzeugung mit .NET?

Numerische Typen in der .NET PDF-Erzeugung sind entscheidend für die Definition des Layouts von PDF-Elementen. Fließkommazahlen beispielsweise können die genaue Größe und Position von Text und Bildern auf einer PDF-Seite mit IronPDF spezifizieren.

Was sind implizite und explizite Konvertierungen in C#?

Implizite Konvertierungen in C# treten auf, wenn der Zieltyp den Quellwert speichern kann, ohne dass Datenverlust auftritt. Explizite Konvertierungen, oder Castings, erfordern manuelles Eingreifen, oft mit einem Cast-Operator, aufgrund potenziellen Datenverlusts.

Wie kann ich eine .NET PDF-Bibliothek für mein Projekt evaluieren?

Sie können eine .NET PDF-Bibliothek wie IronPDF bewerten, indem Sie von deren 30-tägiger kostenloser Testversion profitieren. Dies ermöglicht es Ihnen, die Funktionen während der Entwicklung zu erkunden, bevor Sie sich für den Kauf einer Lizenz entscheiden.

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 führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen