00 Stimmen

C#/.NET: Unterschied zwischen int und Int32

Frage von Gast | 05.08.2016 um 15:17

In C# scheint es zwei Möglichkeiten zu geben, einen Integer zu deklarieren. Entweder mit int oder mit Int32:

int i = 1;
Int32 i = 1;

Intern scheinen beide Integer-Typen sogar komplett identisch zu sein, denn "int" scheint als "System.Int32" definiert zu sein.

Kann mir jemand erklären, wieso es dann zwei unterschiedliche Typen gibt und wann man welchen Typen idealerweise benutzen sollte?

AntwortenPositivNegativ
1Beste Antwort1 Stimme

Intern sind int und Int32 tatsächlich identisch. "int" ist ein Alias für "System.Int32" und damit führt die Verwendung beider Konstrukte später auch zu dem gleichen Code und es gibt entsprechend auch keine Unterschiede in der Performance.

Üblich ist es in gewöhnlichem Code den Alias, also die klein geschriebene Variante zu verwenden (und sie ist auch schneller einzutippen):

int i = 1;

Int32 würde ich nur verwenden, wenn es dir explizit darauf ankommt, dass es ein 32-Bit Integer sein muss. Spielt der genaue Integer-Typ keine große Rolle (zum Beispiel weil du ihn nur für eine kurze Schleife zwischen 0 und 5 benötigst), würde ich immer den Standard-Integer-Typen "int" nehmen.

Damit wirst du auch in Zukunft auf sicheren Seite sein, denn es kann natürlich sein, dass sich irgendwann der "Standard"-Typ ändert und "int" dann plötzlich als System.Int64 definiert ist. Wenn du immer wenn ein 32-Bit Integer absolut erforderlich ist, dies auch explizit geschrieben hast, wirst du an dieser Stelle keine Probleme bekommen.

Übrigens gibt es neben "int" auch noch andere Integer-Aliase in C# die du verwenden kannst:

TypAlias für
shortSystem.Int16
ushortSystem.UInt16
intSystem.Int32
uintSystem.UInt32
longSystem.Int64
ulongSystem.UInt64

Auch Typen wie beispielsweise string ( = System.String), bool ( = System.Boolean), char ( = System.Char) oder object ( = System.Object) sind in einer ähnlichen Weise definiert.

Bei einem String würde ich dir übrigens in allen Fällen zu dem kleingeschriebenen Alias raten, bei Integer-Werten wie gesagt je nachdem ob dir die Bit-Größe wichtig ist oder nicht. Dass short ein 16-Bit Integer ist, int 32-Bit hat und long 64-Bit kann nämlich auch von Sprache zu Sprache unterschiedlich sein und daher zusätzlich verwirren. Daher ist gerade bei den "exotischeren" Integer Werten (falls diese mit besonderen Grund verwendet werden) eine genaue Deklaration umso wichtiger.
05.08.2016 um 15:18

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

MySQL: Integer Typen

Info | 0 Kommentare

Kostenlose Hörbücher

Tipp | 2 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.