SByte.TryParse Methode

Definitie

Converteert de tekenreeksweergave van een getal naar het equivalent van het 8-bits ondertekende gehele getal. Een retourcode geeft aan of de conversie is geslaagd of mislukt.

Overloads

Name Description
TryParse(String, IFormatProvider, SByte)

Probeert een tekenreeks te parseren in een waarde.

TryParse(ReadOnlySpan<Char>, SByte)

Probeert de spanweergave van een getal te converteren naar het SByte equivalent ervan en retourneert een waarde die aangeeft of de conversie is geslaagd.

TryParse(String, SByte)

Hiermee wordt geprobeerd de tekenreeksweergave van een getal te converteren naar SByte het equivalent ervan en wordt een waarde geretourneerd die aangeeft of de conversie is geslaagd.

TryParse(ReadOnlySpan<Byte>, IFormatProvider, SByte)

Probeert een reeks UTF-8 tekens te parseren in een waarde.

TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte)

Probeert een reeks tekens te parseren in een waarde.

TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, SByte)

Probeert een reeks UTF-8 tekens te parseren in een waarde.

TryParse(ReadOnlySpan<Byte>, SByte)

Hiermee wordt geprobeerd een UTF-8-tekenbereik met de tekenreeksweergave van een getal te converteren naar het equivalent van een 8-bits geheel getal.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte)

Probeert de spanweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie te converteren naar het SByte equivalent en retourneert een waarde die aangeeft of de conversie is geslaagd.

TryParse(String, NumberStyles, IFormatProvider, SByte)

Probeert de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie te converteren naar het SByte equivalent en retourneert een waarde die aangeeft of de conversie is geslaagd.

TryParse(String, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Probeert een tekenreeks te parseren in een waarde.

public:
 static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = IParsable<System::SByte>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out sbyte result);
static member TryParse : string * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

s
String

De tekenreeks die moet worden geparseerd.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over s.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat dit het resultaat van het parseren s of van een niet-gedefinieerde waarde bij een fout.

Retouren

trueindien s geparseerd; anders. false

Van toepassing op

TryParse(ReadOnlySpan<Char>, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Belangrijk

Deze API is niet CLS-conform.

Probeert de spanweergave van een getal te converteren naar het SByte equivalent ervan en retourneert een waarde die aangeeft of de conversie is geslaagd.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse(ReadOnlySpan<char> s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, out sbyte result);
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As SByte) As Boolean

Parameters

s
ReadOnlySpan<Char>

Een bereik met de tekens die het getal vertegenwoordigen dat moet worden geconverteerd.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat de 8-bits geheel getalwaarde die gelijk is aan het getal dat s is opgenomen als de conversie is geslaagd of nul als de conversie is mislukt. De conversie mislukt als de s parameter de juiste indeling heeft null of Emptyeen getal vertegenwoordigt dat kleiner is dan SByte.MinValue of groter is dan SByte.MaxValue. Deze parameter wordt niet-geïnitialiseerd doorgegeven; elke waarde die oorspronkelijk is opgegeven result , wordt overschreven.

Retouren

trueals s deze is geconverteerd; anders. false

Kenmerken

Van toepassing op

TryParse(String, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Belangrijk

Deze API is niet CLS-conform.

Hiermee wordt geprobeerd de tekenreeksweergave van een getal te converteren naar SByte het equivalent ervan en wordt een waarde geretourneerd die aangeeft of de conversie is geslaagd.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::SByte % result);
[System.CLSCompliant(false)]
public static bool TryParse(string s, out sbyte result);
public static bool TryParse(string? s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * sbyte -> bool
static member TryParse : string * sbyte -> bool
Public Shared Function TryParse (s As String, ByRef result As SByte) As Boolean

Parameters

s
String

Een tekenreeks die een getal bevat dat moet worden geconverteerd.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat de 8-bits geheel getalwaarde die gelijk is aan het getal dat s is opgenomen als de conversie is geslaagd of nul als de conversie is mislukt. De conversie mislukt als de s parameter de juiste indeling heeft null of Emptyeen getal vertegenwoordigt dat kleiner is dan SByte.MinValue of groter is dan SByte.MaxValue. Deze parameter wordt niet-geïnitialiseerd doorgegeven; elke waarde die oorspronkelijk is opgegeven result , wordt overschreven.

Retouren

trueals s deze is geconverteerd; anders. false

Kenmerken

Voorbeelden

In het volgende voorbeeld worden de tekenreeksen in een matrix geconverteerd naar SByte waarden door de TryParse(String, SByte) methode aan te roepen.

string[] numericStrings = {"-3.6", "12.8", "+16.7", "    3   ", "(17)", 
                           "-17", "+12", "18-", "987", "1,024", "  127 "};
sbyte number;
foreach (string numericString in numericStrings)
{
   if (sbyte.TryParse(numericString, out number)) 
      Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
   else
      Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString);
}
// The example displays the following output to the console:
//       Cannot convert '-3.6' to an SByte.
//       Cannot convert '12.8' to an SByte.
//       Cannot convert '+16.7' to an SByte.
//       Converted '    3   ' to 3.
//       Cannot convert '(17)' to an SByte.
//       Converted '-17' to -17.
//       Converted '+12' to 12.
//       Cannot convert '18-' to an SByte.
//       Cannot convert '987' to an SByte.
//       Cannot convert '1,024' to an SByte.
//       Converted '  127 ' to 127.
open System

let numericStrings = 
    [| "-3.6"; "12.8"; "+16.7"; "    3   "; "(17)" 
       "-17"; "+12"; "18-"; "987"; "1,024"; "  127 " |]

for numericString in numericStrings do
    match SByte.TryParse numericString with 
    | true, number ->
        printfn $"Converted '{numericString}' to {number}."
    | _ ->
        printfn $"Cannot convert '{numericString}' to an SByte."
// The example displays the following output to the console:
//       Cannot convert '-3.6' to an SByte.
//       Cannot convert '12.8' to an SByte.
//       Cannot convert '+16.7' to an SByte.
//       Converted '    3   ' to 3.
//       Cannot convert '(17)' to an SByte.
//       Converted '-17' to -17.
//       Converted '+12' to 12.
//       Cannot convert '18-' to an SByte.
//       Cannot convert '987' to an SByte.
//       Cannot convert '1,024' to an SByte.
//       Converted '  127 ' to 127.
Dim numericStrings() As String = {"-3.6", "12.8", "+16.7", "    3   ", _
                                  "(17)", "-17", "+12", "18-", "987", _
                                  "1,024", "  127 "}
Dim number As SByte
For Each numericString As String In numericStrings
   If SByte.TryParse(numericString, number) Then
      Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
   Else
      Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString)
   End If      
Next
' The example displays the following output to the console:
'       Cannot convert '-3.6' to an SByte.
'       Cannot convert '12.8' to an SByte.
'       Cannot convert '+16.7' to an SByte.
'       Converted '    3   ' to 3.
'       Cannot convert '(17)' to an SByte.
'       Converted '-17' to -17.
'       Converted '+12' to 12.
'       Cannot convert '18-' to an SByte.
'       Cannot convert '987' to an SByte.
'       Cannot convert '1,024' to an SByte.
'       Converted '  127 ' to 127.

Opmerkingen

De SByte.TryParse(String, SByte) methode is net als de SByte.Parse(String) methode, behalve dat deze geen uitzondering genereert als de conversie mislukt. Met deze methode hoeft u geen uitzonderingsafhandeling te gebruiken om te testen of FormatException deze value ongeldig is en niet kan worden geparseerd.

De s parameter moet de tekenreeksweergave zijn van een decimaal getal in de volgende vorm:

[ws][teken]digits[ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
Ws Optionele witruimte.
ondertekenen Een optioneel teken. Geldige tekens worden bepaald door de NumberFormatInfo.NegativeSign en NumberFormatInfo.PositiveSign eigenschappen van de huidige cultuur.
Cijfers Een reeks decimale cijfers tussen 0 en 9.

Note

De tekenreeks die door de value parameter is opgegeven, kan geen groepsscheidingstekens of decimaalteken bevatten en kan geen decimaal gedeelte bevatten.

De s parameter wordt geïnterpreteerd met behulp van de NumberStyles.Integer stijl. Naast de decimale cijfers zijn alleen voorloop- en volgspaties met een voorloopteken toegestaan. Als u de stijlelementen expliciet wilt definiëren met de cultuurspecifieke opmaakinformatie die aanwezig kan zijn in value, roept u de TryParse(String, NumberStyles, IFormatProvider, SByte) methode aan.

De s parameter wordt geparseerd met behulp van de opmaakgegevens in een NumberFormatInfo object voor de huidige cultuur. Zie NumberFormatInfo.CurrentInfo voor meer informatie.

Deze overbelasting interpreteert alle cijfers in de value parameter als decimale cijfers. Als u de tekenreeksweergave van een hexadecimaal getal wilt parseren, roept u in plaats daarvan de TryParse(String, NumberStyles, IFormatProvider, SByte) overbelasting aan.

Zie ook

Van toepassing op

TryParse(ReadOnlySpan<Byte>, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Probeert een reeks UTF-8 tekens te parseren in een waarde.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = IUtf8SpanParsable<System::SByte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

utf8Text
ReadOnlySpan<Byte>

Het bereik van UTF-8 tekens om te parseren.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over utf8Text.

result
SByte

Bij retour bevat het resultaat van het parseren utf8Text of een niet-gedefinieerde waarde bij een fout.

Retouren

trueindien utf8Text geparseerd; anders. false

Van toepassing op

TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Probeert een reeks tekens te parseren in een waarde.

public:
 static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = ISpanParsable<System::SByte>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

s
ReadOnlySpan<Char>

De reeks tekens die moeten worden geparseerd.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over s.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat het resultaat van het parseren sof een niet-gedefinieerde waarde bij een fout.

Retouren

trueindien s geparseerd; anders. false

Van toepassing op

TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Probeert een reeks UTF-8 tekens te parseren in een waarde.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

utf8Text
ReadOnlySpan<Byte>

Het bereik van UTF-8 tekens om te parseren.

style
NumberStyles

Een bitsgewijze combinatie van getalstijlen die aanwezig kunnen zijn in utf8Text.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over utf8Text.

result
SByte

Bij retour bevat het resultaat van het parseren utf8Text of een niet-gedefinieerde waarde bij een fout.

Retouren

trueindien utf8Text geparseerd; anders. false

Van toepassing op

TryParse(ReadOnlySpan<Byte>, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Hiermee wordt geprobeerd een UTF-8-tekenbereik met de tekenreeksweergave van een getal te converteren naar het equivalent van een 8-bits geheel getal.

public:
 static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As SByte) As Boolean

Parameters

utf8Text
ReadOnlySpan<Byte>

Een bereik met de UTF-8 tekens die het getal vertegenwoordigen dat moet worden geconverteerd.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat de 8-bits geheel getalwaarde die gelijk is aan het getal dat utf8Text is opgenomen als de conversie is geslaagd of nul als de conversie is mislukt. Deze parameter wordt niet-geïnitialiseerd doorgegeven; elke waarde die oorspronkelijk is opgegeven in het resultaat, wordt overschreven.

Retouren

trueals utf8Text deze is geconverteerd; anders. false

Van toepassing op

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Belangrijk

Deze API is niet CLS-conform.

Probeert de spanweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie te converteren naar het SByte equivalent en retourneert een waarde die aangeeft of de conversie is geslaagd.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

s
ReadOnlySpan<Char>

Een bereik met de tekens die het getal vertegenwoordigen dat moet worden geconverteerd.

style
NumberStyles

Een bitsgewijze combinatie van opsommingswaarden die de toegestane notatie van s. Een typische waarde die moet worden opgegeven, is Integer.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie over slevert.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat de 8-bits geheel getalwaarde die gelijk is aan het getal in s, als de conversie is geslaagd of nul als de conversie is mislukt. De conversie mislukt als de s parameter wel of nullniet voldoet aan een indeling die voldoet aan Emptyeen getal dat kleiner is style dan SByte.MinValue of groter is dan SByte.MaxValue. Deze parameter wordt niet-geïnitialiseerd doorgegeven; elke waarde die oorspronkelijk is opgegeven result , wordt overschreven.

Retouren

trueals s deze is geconverteerd; anders. false

Kenmerken

Van toepassing op

TryParse(String, NumberStyles, IFormatProvider, SByte)

Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs
Bron:
SByte.cs

Belangrijk

Deze API is niet CLS-conform.

CLS-conform alternatief
System.Int16.TryParse(String, Int16)

Probeert de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke notatie te converteren naar het SByte equivalent en retourneert een waarde die aangeeft of de conversie is geslaagd.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean

Parameters

s
String

Een tekenreeks die een getal aangeeft dat moet worden geconverteerd.

style
NumberStyles

Een bitsgewijze combinatie van opsommingswaarden die de toegestane notatie van s. Een typische waarde die moet worden opgegeven, is Integer.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie over slevert.

result
SByte

Wanneer deze methode wordt geretourneerd, bevat de 8-bits geheel getalwaarde die gelijk is aan het getal in s, als de conversie is geslaagd of nul als de conversie is mislukt. De conversie mislukt als de s parameter wel of nullniet voldoet aan een indeling die voldoet aan Emptyeen getal dat kleiner is style dan SByte.MinValue of groter is dan SByte.MaxValue. Deze parameter wordt niet-geïnitialiseerd doorgegeven; elke waarde die oorspronkelijk is opgegeven result , wordt overschreven.

Retouren

trueals s deze is geconverteerd; anders. false

Kenmerken

Uitzonderingen

style is geen NumberStyles waarde.

– of –

style is geen combinatie van AllowHexSpecifier en HexNumber waarden.

Voorbeelden

In het volgende voorbeeld wordt de TryParse(String, NumberStyles, IFormatProvider, SByte) methode aangeroepen met een aantal verschillende tekenreeksen en NumberStyles waarden.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string numericString;
      NumberStyles styles;
      
      numericString = "106";
      styles = NumberStyles.Integer;
      CallTryParse(numericString, styles);
      
      numericString = "-106";
      styles = NumberStyles.None;
      CallTryParse(numericString, styles);
      
      numericString = "103.00";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);
      
      numericString = "103.72";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);

      numericString = "10E-01";
      styles = NumberStyles.Integer | NumberStyles.AllowExponent;
      CallTryParse(numericString, styles); 
      
      numericString = "12E-01";
      CallTryParse(numericString, styles);
          
      numericString = "12E01";
      CallTryParse(numericString, styles); 
      
      numericString = "C8";
      CallTryParse(numericString, NumberStyles.HexNumber);
      
      numericString = "0x8C";
      CallTryParse(numericString, NumberStyles.HexNumber);
   }
   
   private static void CallTryParse(string stringToConvert, NumberStyles styles)
   {
      sbyte number;
      bool result = SByte.TryParse(stringToConvert, styles, 
                                   CultureInfo.InvariantCulture, out number);
      if (result)
         Console.WriteLine($"Converted '{stringToConvert}' to {number}.");
      else
         Console.WriteLine($"Attempted conversion of '{stringToConvert}' failed.");
   }
}
// The example displays the following output:
//       Converted '106' to 106.
//       Attempted conversion of '-106' failed.
//       Converted '103.00' to 103.
//       Attempted conversion of '103.72' failed.
//       Converted '10E-01' to 1.
//       Attempted conversion of '12E-01' failed.
//       Converted '12E01' to 120.
//       Converted 'C8' to -56.
//       Attempted conversion of '0x8C' failed.
open System
open System.Globalization

let callTryParse (stringToConvert: string) styles =
    match SByte.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
    | true, number ->
        printfn $"Converted '{stringToConvert}' to {number}."
    | _ ->
        printfn $"Attempted conversion of '{stringToConvert}' failed."

[<EntryPoint>]
let main _ =
    let numericString = "106"
    let styles = NumberStyles.Integer
    callTryParse numericString styles
    
    let numericString = "-106"
    let styles = NumberStyles.None
    callTryParse numericString styles
    
    let numericString = "103.00"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
    callTryParse numericString styles
    
    let numericString = "103.72"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
    callTryParse numericString styles

    let numericString = "10E-01"
    let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
    callTryParse numericString styles 
    
    let numericString = "12E-01"
    callTryParse numericString styles
        
    let numericString = "12E01"
    callTryParse numericString styles 
    
    let numericString = "C8"
    callTryParse numericString NumberStyles.HexNumber
    
    let numericString = "0x8C"
    callTryParse numericString NumberStyles.HexNumber
    0

// The example displays the following output:
//       Converted '106' to 106.
//       Attempted conversion of '-106' failed.
//       Converted '103.00' to 103.
//       Attempted conversion of '103.72' failed.
//       Converted '10E-01' to 1.
//       Attempted conversion of '12E-01' failed.
//       Converted '12E01' to 120.
//       Converted 'C8' to -56.
//       Attempted conversion of '0x8C' failed.
Imports System.Globalization

Module StringParsing
   Public Sub Main()
      Dim numericString As String
      Dim styles As NumberStyles
      
      numericString = "106"
      styles = NumberStyles.Integer
      CallTryParse(numericString, styles)
      
      numericString = "-106"
      styles = NumberStyles.None
      CallTryParse(numericString, styles)
      
      numericString = "103.00"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)
      
      numericString = "103.72"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)

      numericString = "10E-01"
      styles = NumberStyles.Integer Or NumberStyles.AllowExponent
      CallTryParse(numericString, styles) 
      
      numericString = "12E-01"
      CallTryParse(numericString, styles)
          
      numericString = "12E01"
      CallTryParse(numericString, styles) 
      
      numericString = "C8"
      CallTryParse(numericString, NumberStyles.HexNumber)
      
      numericString = "0x8C"
      CallTryParse(numericString, NumberStyles.HexNumber)
   End Sub
   
   Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
      Dim number As SByte
      Dim result As Boolean = SByte.TryParse(stringToConvert, styles, _
                                             CultureInfo.InvariantCulture, number)
      If result Then
         Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
      Else
         Console.WriteLine("Attempted conversion of '{0}' failed.", _
                           Convert.ToString(stringToConvert))
      End If                                                                           
   End Sub
End Module
' The example displays the following output to the console:
'       Converted '106' to 106.
'       Attempted conversion of '-106' failed.
'       Converted '103.00' to 103.
'       Attempted conversion of '103.72' failed.
'       Converted '10E-01' to 1.
'       Attempted conversion of '12E-01' failed.
'       Converted '12E01' to 120.
'       Converted 'C8' to -56.
'       Attempted conversion of '0x8C' failed.

Opmerkingen

De TryParse(String, NumberStyles, IFormatProvider, SByte) methode is net als de Parse(String, NumberStyles, IFormatProvider) methode, behalve dat deze geen uitzondering genereert als de conversie mislukt. Met deze methode hoeft u geen uitzonderingsafhandeling te gebruiken om te testen of FormatException deze value ongeldig is en niet kan worden geparseerd.

De style parameter definieert de stijlelementen (zoals witruimte of een positief of negatief teken) die zijn toegestaan in de value parameter om de parseringsbewerking te laten slagen. Dit moet een combinatie zijn van bitvlagmen uit de NumberStyles opsomming. Afhankelijk van de waarde van style, kan de value parameter de volgende elementen bevatten:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Als de style parameter bevat AllowHexSpecifier, kan de value parameter de volgende elementen bevatten:

[ws]hexdigits[ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
Ws Optionele witruimte. Witruimte kan worden weergegeven aan het begin van value als deze de style vlag bevat of aan het einde van NumberStyles.AllowLeadingWhite de valuestyleNumberStyles.AllowTrailingWhite vlag.
$ Een cultuurspecifiek valutasymbool. De positie in de tekenreeks wordt gedefinieerd door de CurrencyPositivePattern eigenschap van het NumberFormatInfo object dat wordt geretourneerd door de GetFormat methode van de provider parameter. Het valutasymbool kan worden weergegeven value als style deze de NumberStyles.AllowCurrencySymbol vlag bevat.
ondertekenen Een optioneel teken. Het teken kan aan het begin van value de vlag worden weergegeven als style deze de NumberStyles.AllowLeadingSign vlag bevat en kan worden weergegeven aan het einde van value de vlag.styleNumberStyles.AllowTrailingSign Haakjes kunnen worden gebruikt value om een negatieve waarde aan te geven als style deze de NumberStyles.AllowParentheses vlag bevat.
Cijfers Een reeks cijfers van 0 tot en met 9.
, Een cultuurspecifiek groepsscheidingsteken. Het groepsscheidingsteken van de cultuur die is opgegeven door provider , kan worden weergegeven als valuestyle de NumberStyles.AllowThousands vlag wordt opgenomen.
. Een cultuurspecifiek decimaalteken. Het decimaalteken van de cultuur die is opgegeven door provider , kan worden weergegeven value als style de NumberStyles.AllowDecimalPoint vlag wordt opgenomen.
fractional_digits Een of meer exemplaren van het cijfer 0. Fractionele cijfers kunnen alleen worden weergegeven als valuestyle de NumberStyles.AllowDecimalPoint vlag wordt opgenomen.
E Het teken "e" of "E", dat aangeeft dat de waarde wordt weergegeven in exponentiële (wetenschappelijke) notatie. De value parameter kan een getal in exponentiële notatie vertegenwoordigen als style deze de NumberStyles.AllowExponent vlag bevat.
exponential_digits Een reeks cijfers van 0 tot en met 9. De value parameter kan een getal in exponentiële notatie vertegenwoordigen als style deze de NumberStyles.AllowExponent vlag bevat.
hexdigits Een reeks hexadecimale cijfers van 0 tot en met f of 0 tot en met F.

Note

Alle nultekens (U+0000) s worden genegeerd door de parseringsbewerking, ongeacht de waarde van het style argument.

Een tekenreeks met alleen decimale cijfers (die overeenkomt met de NumberStyles.None vlag) parseert altijd met succes. De meeste resterende NumberStyles leden bepalen elementen die mogelijk aanwezig zijn, maar die niet aanwezig zijn, in deze invoertekenreeks. De volgende tabel geeft aan hoe afzonderlijke NumberStyles leden van invloed zijn op de elementen die aanwezig kunnen zijn in value.

Niet-samengestelde NumberStyles waarden Elementen die naast cijfers in waarde zijn toegestaan
None Alleen decimale cijfers.
AllowDecimalPoint De decimale punt (.) en fractional_digits elementen. Fractional_digits mag echter slechts uit één of meer cijfers bestaan, of de methode retourneert false.
AllowExponent Het teken "e" of "E", dat exponentiële notatie aangeeft, samen met exponential_digits. Als value een getal in exponentiële notatie aangeeft, kan het geen niet-nul, fractioneel onderdeel hebben.
AllowLeadingWhite Het ws-element aan het begin van value.
AllowTrailingWhite Het ws-element aan het einde van value.
AllowLeadingSign Het tekenelement vóór cijfers.
AllowTrailingSign Het tekenelement na cijfers.
AllowParentheses Het tekenelement in de vorm van haakjes tussen de numerieke waarde.
AllowThousands Het groepsscheidingsteken (,) element.
AllowCurrencySymbol Het valutaelement ($).
Currency Alle elementen. value Kan echter geen hexadecimaal getal of een getal in exponentiële notatie vertegenwoordigen.
Float Het ws-element aan het begin of einde van value, teken aan het begin van valueen het decimaalteken (.). De value parameter kan ook exponentiële notatie gebruiken.
Number De elementen ws, teken, groepsscheidingsteken (,) en decimaalteken (.).
Any Alle elementen. value Kan echter geen hexadecimaal getal vertegenwoordigen.

Als de NumberStyles.AllowHexSpecifier vlag wordt gebruikt, value moet dit een hexadecimale waarde zijn. Geldige hexadecimale cijfers zijn 0-9, a-f en A-F. De enige andere vlaggen die aanwezig kunnen zijn, style zijn NumberStyles.AllowLeadingWhite en NumberStyles.AllowTrailingWhite. (De NumberStyles opsomming heeft een samengestelde stijl, HexNumberdie beide witruimtevlagmen bevat.)

Note

Als value dit de tekenreeksweergave is van een hexadecimaal getal, kan het niet worden voorafgegaan door een decoratie (zoals 0x of &h) die deze onderscheidt als een hexadecimaal getal. Dit zorgt ervoor dat de conversie mislukt.

De provider parameter is een IFormatProvider implementatie. De GetFormat methode retourneert een NumberFormatInfo object dat cultuurspecifieke informatie biedt over de indeling van value. De provider parameter kan een van de volgende zijn:

Als provider dat het is null, wordt het NumberFormatInfo object voor de huidige cultuur gebruikt.

Zie ook

Van toepassing op