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

Int16.TryParse-Methode: (String, Int16)

 

Veröffentlicht: Oktober 2016

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 16-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

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

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

Parameter

s
Type: System.String

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

result
Type: System.Int16

Diese Methode gibt bei erfolgreicher Konvertierung den Wert der ganzen 16-Bit-Zahl 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 Int16.TryParse(String, Int16) -Methode unterscheidet sich von der Int16.Parse(String) Methode durch das Zurückgeben eines booleschen Werts, der angibt, ob der Analysevorgang erfolgreich war, anstatt das analysierte Int16 Wert. Es entfällt die Notwendigkeit, mit der Behandlung von Ausnahmen für Testen einer FormatException , s ist ungültig und kann nicht erfolgreich analysiert werden kann.

Die s Parameter muss die angegebene Zeichenfolgendarstellung einer Zahl in die Form sein:

[ws] [Anmeldung] Ziffern [ws]

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

Element

Beschreibung

ws

Optionaler Leerraum.

sign

Einem optionalen Vorzeichen.

Ziffern

Eine Folge von Ziffern zwischen 0 und 9.

Die s Parameter wird interpretiert, mit der NumberStyles.Integer Stil. Neben der Dezimalstelle dürfen nur führende und nachfolgende Leerzeichen zusammen mit einem vorangestellten Plus-oder Minuszeichen. Die Style-Elemente sowie der kulturspezifischen Formatierungsinformationen explizit zu definieren, die in vorhanden sein können s, verwenden Sie die Int16.TryParse(String, NumberStyles, IFormatProvider, Int16) Methode.

Die s Parameter analysiert wird, unter Verwendung der Formatierungsinformationen in eine NumberFormatInfo -Objekt, das für die aktuelle Systemkultur initialisiert wird. Weitere Informationen finden Sie unter CurrentInfo.

Diese Überladung von der TryParse Methode interpretiert alle Ziffern in der s Parameter als eine Dezimalstelle finden. Um die angegebene Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren, rufen Sie die Int16.TryParse(String, NumberStyles, IFormatProvider, Int16) überladen.

Im folgenden Beispiel wird die Int16.TryParse(String, Int16)-Methode mit einer Reihe von verschiedenen Zeichenfolgenwerten.

using System;

public class StringParsing
{
   public static void Main()
   {
      TryToParse(null);
      TryToParse("16051");
      TryToParse("9432.0");
      TryToParse("16,667");
      TryToParse("   -322   ");
      TryToParse("+4302");
      TryToParse("(100);");
      TryToParse("01FA");
   }

   private static void TryToParse(string value)
   {
      short number;
      bool result = Int16.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);
      }
   }
}
// The example displays the following output to the console:
//       Attempted conversion of '' failed.
//       Converted '16051' to 16051.
//       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, Int16) Methode ist, kann nicht in diesem Beispiel konvertiert werden:

  • "9432.0". Die Konvertierung schlägt fehl, da die Zeichenfolge nicht enthalten ein Dezimaltrennzeichen kann; Es muss nur ganze Zahlen enthalten.

  • "16,667". Die Konvertierung schlägt fehl, da die Zeichenfolge nicht, Gruppentrennzeichen enthalten kann; Es muss nur ganze Zahlen enthalten.

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

  • "01FA". Die Konvertierung schlägt fehl, da die Zeichenfolge hexadezimale Ziffern darf; Es muss nur Dezimalstellen enthalten.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
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: