C# - ToInt32 - und wenns größer wird?

Puepue

Komplett-PC-Aufrüster(in)
C# - ToInt32 - und wenns größer wird?

Hallo zusammen,
wenn ich in C# diesen Code habe
Code:
int inpIsbn = 0;
Console.WriteLine("Bitte geben Sie die ISBN des Buches ein (Ohne Bindestriche)");
inpIsbn = Convert.ToInt32(Console.ReadLine());
dann bekomme ich ja ab einer gewissen Größe Probleme. Jetzt habe ich mal ins aktuelle IT-Handbuch geguckt und bemerkt, dass da eine ziemlich lange ISBN drin steht, die dann schon eine Exception wirft: 978 3 14 225042 7

Was kann man dagegen tun, außer alles als string zu speichern??
 
AW: C# - ToInt32 - und wenns größer wird?

Du kannst es mit BigInteger versuchen. Andere Alternative wäre halt wirklich als String (wäre mir jetzt zuerst in den Sinn gekommen, besonders wenn man mit Datenbanken arbeitet).
 
AW: C# - ToInt32 - und wenns größer wird?

Generell hat mein Vorposter Recht, ein String bietet sich definitiv an.

Wenn du aber unbedingt numerische Datentypen verwenden willst, dann kannst du long(int64) benutzen, dein Beispiel funktioniert damit!
Der Wertebereich der unterschiedlichen Datentypen lässt sich z.B. hier einsehen:
http://www.aspheute.com/artikel/20000726.htm
 
AW: C# - ToInt32 - und wenns größer wird?

super, die Verbindung long und ToInt64 hat geklappt - ich hatte das ToInt64 vorher in dem intellisense-Vorschlägen nicht ausfindig machen können.. :)
Code:
long inpIsbn = -1;
inpIsbn = Convert.ToInt64(Console.ReadLine());

String wäre auch meine 2. Idee gewesen, aber dann müsste ich mein gesamtes Projekt neu anpassen, das ist nämlich bis auf die Code-Kommentare schon fertig =P
 
Zurück