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?
Ähnliche Themen
MySQL: Neue Spalte zu einer Tabelle hinzufügen
Tutorial | 0 Kommentare
C#/.NET: Unterschied zwischen int und uint
Frage | 1 Antwort
Delphi/Lazarus: Kommazahlen aufrunden, abrunden und normal runden
Tipp | 1 Kommentar
MySQL: Integer Typen
Info | 0 Kommentare
C# Fehlermeldung: .NET 2.0 DLL in .NET 4.0 cannot be loaded in the 4.0 runtime without additional configuration information
Frage | 1 Antwort
PHP: Aktuelles Datum und Zeit ermitteln
Tutorial | 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.
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):
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:
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