UInt16.TryParse Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Converteert de tekenreeksweergave van een getal naar het 16-bits equivalent van een niet-ondertekend geheel getal. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt.
Overloads
| Name | Description |
|---|---|
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt16) |
Probeert een reeks UTF-8 tekens te parseren in een waarde. |
| TryParse(ReadOnlySpan<Char>, UInt16) |
Hiermee wordt geprobeerd de spanweergave van een getal te converteren naar het 16-bits equivalent van een niet-ondertekend geheel getal. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt. |
| TryParse(String, UInt16) |
Hiermee wordt geprobeerd de tekenreeksweergave van een getal te converteren naar het 16-bits equivalent van een niet-ondertekend geheel getal. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16) |
Probeert een reeks tekens te parseren in een waarde. |
| TryParse(String, IFormatProvider, UInt16) |
Probeert een tekenreeks te parseren in een waarde. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, UInt16) |
Probeert een reeks UTF-8 tekens te parseren in een waarde. |
| TryParse(ReadOnlySpan<Byte>, UInt16) |
Hiermee wordt geprobeerd een UTF-8-tekenbereik met de tekenreeksweergave van een getal te converteren naar het 16-bits equivalent van een geheel getal zonder teken. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UInt16) |
Hiermee wordt geprobeerd de spanweergave van een getal in een opgegeven stijl en cultuurspecifieke indeling te converteren naar het 16-bits equivalent van niet-ondertekende gehele getallen. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt. |
| TryParse(String, NumberStyles, IFormatProvider, UInt16) |
Hiermee wordt geprobeerd de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke indeling te converteren naar het 16-bits equivalent van een geheel getal zonder teken. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.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::UInt16 % result) = IUtf8SpanParsable<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As UShort) 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
- UInt16
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>, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Belangrijk
Deze API is niet CLS-conform.
Hiermee wordt geprobeerd de spanweergave van een getal te converteren naar het 16-bits equivalent van een niet-ondertekend geheel getal. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<char> s, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, out ushort result);
static member TryParse : ReadOnlySpan<char> * uint16 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As UShort) As Boolean
Parameters
- s
- ReadOnlySpan<Char>
Een bereik met de tekens die het getal vertegenwoordigen dat moet worden geconverteerd.
- result
- UInt16
Wanneer deze methode retourneert, bevat de 16-bits niet-ondertekende integerwaarde 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 null of Emptyniet de juiste indeling heeft. of vertegenwoordigt een getal kleiner dan UInt16.MinValue of groter dan UInt16.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, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Belangrijk
Deze API is niet CLS-conform.
- CLS-conform alternatief
- System.Int32.TryParse(String, Int32)
Hiermee wordt geprobeerd de tekenreeksweergave van een getal te converteren naar het 16-bits equivalent van een niet-ondertekend geheel getal. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::UInt16 % result);
[System.CLSCompliant(false)]
public static bool TryParse(string s, out ushort result);
public static bool TryParse(string? s, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, out ushort result);
[<System.CLSCompliant(false)>]
static member TryParse : string * uint16 -> bool
static member TryParse : string * uint16 -> bool
Public Shared Function TryParse (s As String, ByRef result As UShort) As Boolean
Parameters
- s
- String
Een tekenreeks die het getal vertegenwoordigt dat moet worden geconverteerd.
- result
- UInt16
Wanneer deze methode retourneert, bevat de 16-bits niet-ondertekende integerwaarde 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 de juiste indeling heeft null of Emptyeen getal kleiner is dan UInt16.MinValue of groter is dan UInt16.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 wordt de TryParse(String, UInt16) methode eenmaal aangeroepen voor elk element in een tekenreeksmatrix.
string[] numericStrings = { "1293.8", "+1671.7", "28347.",
" 33113684 ", "(0)", "-0", "-1",
"+1293617", "18-", "119870", "31,024",
" 3127094 ", "00700000" };
uint number;
foreach (string numericString in numericStrings)
{
if (UInt32.TryParse(numericString, out number))
Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
else
Console.WriteLine("Cannot convert '{0}' to a UInt32.", numericString);
}
// The example displays the following output:
// Cannot convert '1293.8' to a UInt32.
// Cannot convert '+1671.7' to a UInt32.
// Cannot convert '28347.' to a UInt32.
// Converted ' 33113684 ' to 33113684.
// Cannot convert '(0)' to a UInt32.
// Converted '-0' to 0.
// Cannot convert '-1' to a UInt32.
// Converted '+1293617' to 1293617.
// Cannot convert '18-' to a UInt32.
// Converted '119870' to 119870.
// Cannot convert '31,024' to a UInt32.
// Converted ' 3127094 ' to 3127094.
// Converted '0070000' to 70000.
let numericStrings =
[| "1293.8"; "+1671.7"; "28347."
" 33113684 "; "(0)"; "-0"; "-1"
"+1293617"; "18-"; "119870"; "31,024"
" 3127094 "; "00700000" |]
for numericString in numericStrings do
match UInt32.TryParse numericString with
| true, number ->
printfn $"Converted '{numericString}' to {number}."
| _ ->
printfn $"Cannot convert '{numericString}' to a UInt32."
// The example displays the following output:
// Cannot convert '1293.8' to a UInt32.
// Cannot convert '+1671.7' to a UInt32.
// Cannot convert '28347.' to a UInt32.
// Converted ' 33113684 ' to 33113684.
// Cannot convert '(0)' to a UInt32.
// Converted '-0' to 0.
// Cannot convert '-1' to a UInt32.
// Converted '+1293617' to 1293617.
// Cannot convert '18-' to a UInt32.
// Converted '119870' to 119870.
// Cannot convert '31,024' to a UInt32.
// Converted ' 3127094 ' to 3127094.
// Converted '0070000' to 70000.
Dim numericStrings() As String = {"1293.8", "+1671.7", "28347.",
" 33113684 ", "(0)", "-0", "-1",
"+1293617", "18-", "119870",
"31,024", " 3127094 ", "0070000" }
Dim number As UInteger
For Each numericString As String In numericStrings
If UInt32.TryParse(numericString, number) Then
Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
Else
Console.WriteLine("Cannot convert '{0}' to a UInt32.", numericString)
End If
Next
' The example displays the following output:
' Cannot convert '1293.8' to a UInt32.
' Cannot convert '+1671.7' to a UInt32.
' Cannot convert '28347.' to a UInt32.
' Converted ' 33113684 ' to 33113684.
' Cannot convert '(0)' to a UInt32.
' Converted '-0' to 0.
' Cannot convert '-1' to a UInt32.
' Converted '+1293617' to 1293617.
' Cannot convert '18-' to a UInt32.
' Converted '119870' to 119870.
' Cannot convert '31,024' to a UInt32.
' Converted ' 3127094 ' to 3127094.
' Converted '0070000' to 70000.
Opmerkingen
De TryParse(String, UInt16) methode is net als de 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 s 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 s 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 s, roept u de TryParse(String, NumberStyles, IFormatProvider, UInt16) methode aan.
De s parameter wordt geparseerd met behulp van de opmaakgegevens in een NumberFormatInfo object voor de huidige systeemcultuur. Zie NumberFormatInfo.CurrentInfo voor meer informatie.
Deze overbelasting interpreteert alle cijfers in de s parameter als decimale cijfers. Als u de tekenreeksweergave van een hexadecimaal getal wilt parseren, roept u in plaats daarvan de TryParse(String, NumberStyles, IFormatProvider, UInt16) overbelasting aan.
Zie ook
- Parse(String)
- ToString()
- Parsing Numerieke tekenreeksen in .NET
- Voorbeeld: .NET Core WinForms Format Utility (C#)
- Voorbeeld: .NET Core WinForms Format Utility (Visual Basic)
Van toepassing op
TryParse(ReadOnlySpan<Char>, IFormatProvider, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Probeert een reeks tekens te parseren in een waarde.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = ISpanParsable<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameters
- s
- ReadOnlySpan<Char>
De reeks tekens die moeten worden geparseerd.
- provider
- IFormatProvider
Een object dat cultuurspecifieke opmaakinformatie biedt over s.
- result
- UInt16
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(String, IFormatProvider, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Probeert een tekenreeks te parseren in een waarde.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = IParsable<System::UInt16>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out ushort result);
static member TryParse : string * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameters
- s
- String
De tekenreeks die moet worden geparseerd.
- provider
- IFormatProvider
Een object dat cultuurspecifieke opmaakinformatie biedt over s.
- result
- UInt16
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<Byte>, NumberStyles, IFormatProvider, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.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::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) 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
- UInt16
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>, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Hiermee wordt geprobeerd een UTF-8-tekenbereik met de tekenreeksweergave van een getal te converteren naar het 16-bits equivalent van een geheel getal zonder teken.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out ushort result);
static member TryParse : ReadOnlySpan<byte> * uint16 -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As UShort) As Boolean
Parameters
- utf8Text
- ReadOnlySpan<Byte>
Een bereik met de UTF-8 tekens die het getal vertegenwoordigen dat moet worden geconverteerd.
- result
- UInt16
Wanneer deze methode wordt geretourneerd, bevat de 16-bits niet-ondertekende gehele waarde gelijk aan het getal in utf8Text 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, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Belangrijk
Deze API is niet CLS-conform.
Hiermee wordt geprobeerd de spanweergave van een getal in een opgegeven stijl en cultuurspecifieke indeling te converteren naar het 16-bits equivalent van niet-ondertekende gehele getallen. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameters
- s
- ReadOnlySpan<Char>
Een bereik met de tekens die het getal vertegenwoordigen dat moet worden geconverteerd. De periode wordt geïnterpreteerd met behulp van de stijl die is opgegeven door de style parameter.
- 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
- UInt16
Wanneer deze methode retourneert, bevat de 16-bits niet-ondertekende geheel getalwaarde gelijk 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 null of Emptyniet voldoet aan een indeling die voldoet aan styleof een getal kleiner is dan UInt16.MinValue of groter is dan UInt16.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, UInt16)
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
- Bron:
- UInt16.cs
Belangrijk
Deze API is niet CLS-conform.
- CLS-conform alternatief
- System.Int32.TryParse(String, Int32)
Hiermee wordt geprobeerd de tekenreeksweergave van een getal in een opgegeven stijl en cultuurspecifieke indeling te converteren naar het 16-bits equivalent van een geheel getal zonder teken. Een retourwaarde geeft aan of de conversie is geslaagd of mislukt.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::UInt16 % result) = System::Numerics::INumberBase<System::UInt16>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[System.CLSCompliant(false)]
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out ushort result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * uint16 -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As UShort) As Boolean
Parameters
- s
- String
Een tekenreeks die het getal vertegenwoordigt dat moet worden geconverteerd. De tekenreeks wordt geïnterpreteerd met behulp van de stijl die is opgegeven door de style parameter.
- 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
- UInt16
Wanneer deze methode retourneert, bevat de 16-bits niet-ondertekende geheel getalwaarde gelijk 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 null of Emptyniet voldoet aan een indeling die voldoet aan styleof een getal kleiner is dan UInt16.MinValue of groter is dan UInt16.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, UInt16) 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 = "10603";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-10603";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
numericString = "29103.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10345.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "2210E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "9112E-01";
CallTryParse(numericString, styles);
numericString = "312E01";
CallTryParse(numericString, styles);
numericString = "FFC8";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x8F8C";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
ushort number;
bool result = UInt16.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 '10603' to 10603.
// Attempted conversion of '-10603' failed.
// Converted '29103.00' to 29103.
// Attempted conversion of '10345.72' failed.
// Converted '2210E-01' to 221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC8' to 65480.
// Attempted conversion of '0x8F8C' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match UInt16.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
do
let numericString = "10603"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-10603"
let styles = NumberStyles.None
callTryParse numericString styles
let numericString = "29103.00"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "10345.72"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "2210E-01"
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse numericString styles
let numericString = "9112E-01"
callTryParse numericString styles
let numericString = "312E01"
callTryParse numericString styles
let numericString = "FFC8"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x8F8C"
callTryParse numericString NumberStyles.HexNumber
// The example displays the following output:
// Converted '10603' to 10603.
// Attempted conversion of '-10603' failed.
// Converted '29103.00' to 29103.
// Attempted conversion of '10345.72' failed.
// Converted '2210E-01' to 221.
// Attempted conversion of '9112E-01' failed.
// Converted '312E01' to 3120.
// Converted 'FFC8' to 65480.
// Attempted conversion of '0x8F8C' failed.
Imports System.Globalization
Module Example
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "10603"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-10603"
styles = NumberStyles.None
CallTryParse(numericString, styles)
numericString = "29103.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10345.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "2210E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "9112E-01"
CallTryParse(numericString, styles)
numericString = "312E01"
CallTryParse(numericString, styles)
numericString = "FFC8"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x8F8C"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As UShort
Dim result As Boolean = UInt16.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 '10603' to 10603.
' Attempted conversion of '-10603' failed.
' Converted '29103.00' to 29103.
' Attempted conversion of '10345.72' failed.
' Converted '2210E-01' to 221.
' Attempted conversion of '9112E-01' failed.
' Converted '312E01' to 3120.
' Converted 'FFC8' to 65480.
' Attempted conversion of '0x8F8C' failed.
Opmerkingen
De TryParse(String, NumberStyles, IFormatProvider, UInt16) 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 s 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 s 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 s parameter de volgende elementen bevatten:
[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]
Items in vierkante haken ([ en ]) zijn optioneel. Of, als de style parameter bevat AllowHexSpecifier, kan de s parameter de volgende elementen bevatten:
[ws]hexdigits[ws]
In de volgende tabel wordt elk element beschreven.
Ws Optionele witruimte. Witruimte kan worden weergegeven aan het begin van s als deze de style vlag bevat of aan het einde van NumberStyles.AllowLeadingWhite de sstyleNumberStyles.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 s als style deze de NumberStyles.AllowCurrencySymbol vlag bevat.
Teken Een optioneel teken. Het teken kan aan het begin van s de vlag worden weergegeven als style deze de NumberStyles.AllowLeadingSign vlag bevat en kan worden weergegeven aan het einde van s de vlag.styleNumberStyles.AllowTrailingSign Haakjes kunnen worden gebruikt s om een negatieve waarde aan te geven als style deze de NumberStyles.AllowParentheses vlag bevat. Als het negatieve teken echter aanwezig is, s kan alleen de waarde nul vertegenwoordigen voor de parseringsbewerking om te slagen.
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 sstyle de NumberStyles.AllowThousands vlag wordt opgenomen.
.
Een cultuurspecifiek decimaalteken. Het decimaalteken van de cultuur die is opgegeven door provider , kan worden weergegeven s 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 sstyle 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 s 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 s 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 s.
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 s een getal in exponentiële notatie aangeeft, kan het geen niet-nul, fractioneel onderdeel hebben. |
| AllowLeadingWhite | Het ws-element aan het begin van s. |
| AllowTrailingWhite | Het ws-element aan het einde van s. |
| AllowLeadingSign | Het tekenelement vóór cijfers. |
| AllowTrailingSign | Het tekenelement na cijfers. |
| AllowParentheses | Het tekenelement in de vorm van haakjes die een numerieke waarde van nul insluiten. |
| AllowThousands | Het groepsscheidingsteken (,) element. |
| AllowCurrencySymbol | Het valutaelement ($). |
| Currency | Alle elementen.
s Kan echter geen hexadecimaal getal of een getal in exponentiële notatie vertegenwoordigen. |
| Float | Het ws-element aan het begin of einde van s, teken aan het begin van sen het decimaalteken (.). De s parameter kan ook exponentiële notatie gebruiken. |
| Number | De elementen ws, teken, groepsscheidingsteken (,) en decimaalteken (.). |
| Any | Alle elementen.
s Kan echter geen hexadecimaal getal vertegenwoordigen. |
Als de NumberStyles.AllowHexSpecifier vlag wordt gebruikt, s moet dit een hexadecimale waarde zijn. Geldige hexadecimale cijfers zijn 0 tot en met 9, een tot en met f en A tot en met F. Een voorvoegsel zoals '0x' wordt niet ondersteund en zorgt ervoor dat de parseringsbewerking mislukt. 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 s 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 s. De provider parameter kan een van de volgende zijn:
Een CultureInfo object dat de cultuur vertegenwoordigt die opmaakinformatie levert. De GetFormat methode retourneert het NumberFormatInfo object dat numerieke opmaakinformatie biedt voor die cultuur.
Een NumberFormatInfo object dat numerieke opmaakgegevens biedt. (De implementatie van GetFormat alleen retourneert zichzelf.)
Een aangepast object dat implementeert IFormatProvider. De GetFormat methode instantieert en retourneert het NumberFormatInfo object dat opmaakinformatie biedt.
Als provider dat het is null, wordt het NumberFormatInfo object voor de huidige cultuur gebruikt.