Frage von ElferKern, 50

C-Sharp C# || Zahlen aus einem String erkennen lassen?

Hiho,

gibt es bei c# eine Möglichkeit auszulesen, ob eine eingabe eine zahl oder ein string ist? das ganze wird logischerweise in einen string geschrieben.

oder gibt es eine möglichkeit aus einer eingabe wie "10" eine grösser-kleiner überprüfung zu machen, um diese in ein switch case > 10 zu packen?

Antwort
von ceevee, 31

Das kannst du mit TryParse() machen

https://msdn.microsoft.com/de-de/library/bb397679.aspx

Der Schnipsel hier tut eigentlich schon das, was du willst.

string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);

if (!parsed)
Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);

// Output: Int32.TryParse could not parse 'abc' to an int.

oder gibt es eine möglichkeit aus einer eingabe wie "10" eine
grösser-kleiner überprüfung zu machen, um diese in ein switch case >
10 zu packen?

Das ist auch möglich, dazu musst du den String einfach in ein Int/Float umwandeln... das könntest du ebenfalls mit tryParse() machen. ;)

Kommentar von ElferKern ,

Aber wenn ichs mit Convert.ToInt32 mache würde das Programm abstürzen oder? - danke für die rasche antwort - danach habe ich gesucht! ;)

Kommentar von ceevee ,

Convert.ToInt32 könntest du auch machen, das dann aber in einem Try-Catch-Block und wenn eine Exception fliegt, dann hat es nicht geklappt und du musst im catch irgendwie reagieren, um den Absturz zu vermeiden... das find ich komplizierter als TryParse.

Kommentar von ElferKern ,

hat perfekt funktioniert mit tryParse() - danke dir! - wann auch immer hilfreichste frage mal geht xD

Kommentar von ceevee ,

Ich glaub, das geht erst ab 24 Stunden und auch erst, wenn es mindestens 2 Antworten gibt.

Ist aber egal, ich bin nicht geil auf hilfreichste Antworten. Es freut mich, wenn ich helfen konnte. :)

Keine passende Antwort gefunden?

Fragen Sie die Community