TryParse Methode (String, Int32)
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Int32.TryParse-Methode (String, Int32)

 

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static bool TryParse(
	string s,
	out int result
)

Parameter

s
Type: System.String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.

result
Type: System.Int32

Diese Methode gibt bei erfolgreicher Konvertierung den 32-Bit-Ganzzahlwert mit Vorzeichen zurück, der der Zahl in s entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte. Die Konvertierung kann nicht durchgeführt werden, wenn der s-Parameter null oder String.Empty ist, kein gültiges Format aufweist oder eine Zahl kleiner als MinValue oder größer als MaxValue darstellt. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.

Rückgabewert

Type: System.Boolean

true, wenn s erfolgreich konvertiert wurde, andernfalls false.

Die TryParse Methode entspricht der Parse -Methode, mit Ausnahme der TryParse -Methode löst keine Ausnahme aus, wenn die Konvertierung fehlschlägt. Es entfällt die Notwendigkeit Ausnahmebehandlung zum Testen verwenden eine FormatException die s ist ungültig und kann nicht erfolgreich analysiert werden kann.

Die s Parameter enthält eine Reihe von der Form:

[ws] [Vorzeichen] Ziffern [ws]

Elemente in eckigen Klammern ([und]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element

Beschreibung

ws

Optionaler Leerraum.

Vorzeichen

Ein optionalen Vorzeichen.

Ziffern

Eine Folge von Ziffern von 0 bis 9.

Die s Parameter wird interpretiert, mit der NumberStyles.Integer Stil. Neben den Dezimalziffern sind nur führende und nachgestellte Leerzeichen sowie ein vorangestellten Vorzeichen zulässig. Style-Elemente sowie der kulturspezifischen Formatierungsinformationen explizit zu definieren, die in vorhanden sein können s, verwenden Sie die Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) Methode.

Die s -Parameter wird mithilfe den Formatierungsinformationen in analysiert eine NumberFormatInfo für die aktuelle Systemkultur initialisiert wurde. Weitere Informationen finden Sie unter CurrentInfo.

Diese Überladung von der TryParse -Methode interpretiert alle Ziffern in der s -Parameter als Dezimalstellen. Um die Darstellung einer hexadezimalen Zahl analysiert werden können, rufen Sie die Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) überladen.

Im folgenden Beispiel wird die Int32.TryParse(String, Int32) -Methode mit einer Reihe verschiedener Zeichenfolgenwerte.

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) {
         int number;

         bool result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
//            if (value == null) value = ""; 
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}
// The example displays the following output:
//       Attempted conversion of '<null>' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.

Einige der Zeichenfolgen, die die TryParse(String, Int32) Methode kann nicht in diesem Beispiel konvertiert werden:

  • "9432.0". Die Konvertierung fehlschlägt, da die Zeichenfolge ein Dezimaltrennzeichen enthalten kann. Er darf nur ganze Zahlen enthalten.

  • "16,667". Die Konvertierung fehlschlägt, da die Zeichenfolge Gruppentrennzeichen enthalten kann. Er darf nur ganze Zahlen enthalten.

  • "(100)". Die Konvertierung schlägt fehl, da die Zeichenfolge ein negativen Vorzeichen als der von der aktuellen Kultur definiert enthalten kann NumberFormatInfo.NegativeSign und NumberFormatInfo.NumberNegativePattern Eigenschaften.

  • "01FA". Die Konvertierung fehlschlägt, da die Zeichenfolge hexadezimale Ziffern enthalten kann. Es muss nur Dezimalstellen enthalten.

Universal Windows Platform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft