it-swarm.com.de

Konvertiere String in Int und teste den Erfolg in C #

Wie können Sie prüfen, ob ein Stringkonvertierbar zu einem int? Ist

Nehmen wir an, wir haben Daten wie "House", "50", "Dog", "45.99". Ich möchte wissen, ob ich einfach den String oder den geparsten int verwenden sollte. Wert stattdessen.

In JavaScript hatten wir diese parseInt () - Funktion. Wenn die Zeichenfolge kann nicht analysiert werden, würde NaN zurückgegeben.

35
Robinicks

Int32.TryParse(String, Int32) - http://msdn.Microsoft.com/de-de/library/f02979c7.aspx

  bool result = Int32.TryParse(value, out number);
  if (result)
  {
     Console.WriteLine("Converted '{0}' to {1}.", value, number);         
  }
71
Johnno Nolan

Könnten Sie es nicht ein wenig eleganter machen, wenn Sie die Tryparse direkt in das If einfahren?

So wie:

if (Int32.TryParse(value, out number))     
  Console.WriteLine("Converted '{0}' to {1}.", value, number);
11
BenAlabaster

Int.TryParse

5
keithwarren7

habe dies in einem der Suchergebnisse gefunden: Wie erkenne ich, ob eine Zeichenfolge eine Zahl ist?

Dies wurde hinzugefügt, weil die Antworten, die ich zuvor gesehen hatte, keine Verwendung hatten:

int n;
bool isNumeric = int.TryParse("123", out n);

hier kann "123" so etwas wie die Zeichenfolge s = "123" sein, die das OP testet, und der Wert n hat nach dem Aufruf einen Wert (123), wenn er als numerisch erkannt wird.