Int32.TryParse Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy szám sztringképét 32 bites aláírt egész szám megfelelőjeként alakítja át. A visszatérési érték azt jelzi, hogy a művelet sikeres volt-e.
Túlterhelések
| Name | Description |
|---|---|
| TryParse(String, Int32) |
Egy szám sztringképét 32 bites aláírt egész szám megfelelőjeként alakítja át. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Char>, Int32) |
Egy szám 32 bites aláírt egész szám-ekvivalenssé alakítja a kultúraspecifikus formátumban lévő szám span-ábrázolását. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(String, NumberStyles, IFormatProvider, Int32) |
Egy adott stílusban és kultúrában megadott formátumban lévő szám sztringképét 32 bites aláírt egész szám megfelelőjeként alakítja át. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int32) |
Egy adott stílusban és kultúrában megadott formátumban lévő szám span-ábrázolását 32 bites aláírt egész szám egyenértékűvé alakítja. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e. |
TryParse(String, Int32)
Egy szám sztringképét 32 bites aláírt egész szám megfelelőjeként alakítja át. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] int % result);
public static bool TryParse(string s, out int result);
static member TryParse : string * int -> bool
Public Shared Function TryParse (s As String, ByRef result As Integer) As Boolean
Paraméterek
- s
- String
Egy konvertálni kívánt számot tartalmazó sztring.
- result
- Int32
A metódus visszatérésekor a 32 bites aláírt egész szám értéke megegyezik a benne foglalt sszámmal, ha az átalakítás sikeres volt, vagy nulla, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter null vagy Empty, nem a megfelelő formátumú, vagy az Int32.MinValue-nál kisebb vagy az Int32.MaxValue-nál nagyobb számot jelöl. Ez a paraméter nem inicializálva lesz átadva; az eredetileg megadott result értékek felülíródnak.
Válaszok
trueha s sikeresen konvertálták; ellenkező esetben. false
Példák
Az alábbi példa számos különböző sztringértékkel hívja meg a Int32.TryParse(String, Int32) metódust.
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 success = int.TryParse(value, out number);
if (success)
{
Console.WriteLine($"Converted '{value}' to {number}.");
}
else
{
Console.WriteLine($"Attempted conversion of '{value ?? "<null>"}' failed.");
}
}
}
}
// 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.
open System
let values =
[ null; "160519"; "9432.0"; "16,667"
" -322 "; "+4302"; "(100);"; "01FA" ]
for value in values do
match Int32.TryParse value with
| true, number ->
printfn $"Converted '{value}' to {number}."
| _ ->
printfn $"""Attempted conversion of '{if isNull value then "<null>" else value}' failed."""
// 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.
Module Example
Public Sub Main()
Dim values() As String = { Nothing, "160519", "9432.0", "16,667",
" -322 ", "+4302", "(100);",
"01FA" }
For Each value In values
Dim number As Integer
Dim success As Boolean = Int32.TryParse(value, number)
If success Then
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
Console.WriteLine("Attempted conversion of '{0}' failed.",
If(value ,"<null>"))
End If
Next
End Sub
End Module
' The example displays the following output to the console:
' 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.
Néhány sztring, amelyet a TryParse(String, Int32) metódus nem tud konvertálni ebben a példában:
"9432.0". Az átalakítás sikertelen, mert a sztring nem tartalmazhat tizedesjelet; csak integrál számjegyeket tartalmazhat.
"16,667". Az átalakítás meghiúsul, mert a sztring nem tartalmazhat csoportelválasztókat; csak integrál számjegyeket tartalmazhat.
"(100)". Az átalakítás sikertelen, mert a sztring nem tartalmazhat az aktuális kultúra NumberFormatInfo.NegativeSign és NumberFormatInfo.NumberNegativePattern tulajdonságok által meghatározotttól eltérő negatív előjelet.
"01FA". Az átalakítás meghiúsul, mert a sztring nem tartalmazhat hexadecimális számjegyeket; csak tizedesjegyeket tartalmazhat.
Megjegyzések
A TryParse metódus hasonló a Parse metódushoz, kivéve, ha a TryParse metódus nem ad kivételt, ha az átalakítás sikertelen. Ez szükségtelenné teszi, hogy s kivételkezeléssel teszteljen egy FormatException érvénytelen és nem elemezhető eseményt.
A s paraméter számos űrlapot tartalmaz:
[ws][jel]számjegyek[ws]
A szögletes zárójelben ([ és ]) szereplő elemek nem kötelezőek. Az alábbi táblázat az egyes elemeket ismerteti.
| Elem | Description |
|---|---|
| Ws | Nem kötelező üres terület. |
| jel | Nem kötelező jel. |
| Számjegy | Számjegyek sorozata 0 és 9 között. |
A s paraméter a stílus használatával NumberStyles.Integer lesz értelmezve. A tizedesjegyeken kívül csak a kezdő és záró szóközök és a kezdőjelek engedélyezettek. Ha explicit módon szeretné definiálni a stíluselemeket a kultúraspecifikus formázási információkkal együtt, shasználja a metódust Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) .
A s paraméter az aktuális rendszerkultúra inicializált objektumának formázási információi NumberFormatInfo alapján lesz elemezve. További információért lásd CurrentInfo.
A metódus túlterhelése tizedesjegyként TryParse értelmezi a s paraméter összes számjegyét. Hexadecimális szám sztringképének elemzéséhez hívja meg a túlterhelést Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) .
Lásd még
- Parse(String)
- ToString()
Numerikus sztringek elemzése a .NET - minta: .NET Core WinForms Formatting Utility (C#)
- minta: .NET Core WinForms Formatting Utility (Visual Basic)
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, Int32)
Egy szám 32 bites aláírt egész szám-ekvivalenssé alakítja a kultúraspecifikus formátumban lévő szám span-ábrázolását. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] int % result);
public static bool TryParse(ReadOnlySpan<char> s, out int result);
static member TryParse : ReadOnlySpan<char> * int -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Integer) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
A konvertálni kívánt számot képviselő karaktereket tartalmazó span.
- result
- Int32
A metódus visszatérésekor a 32 bites aláírt egész szám értéke megegyezik a benne foglalt sszámmal, ha az átalakítás sikeres volt, vagy nulla, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter az nullInt32.MinValue-nál kisebb vagy Empty az Int32.MaxValue-nál nagyobb számot jelöl. Ez a paraméter nem inicializálva lesz átadva; az eredetileg megadott result értékek felülíródnak.
Válaszok
trueha s sikeresen konvertálták; ellenkező esetben. false
A következőre érvényes:
TryParse(String, NumberStyles, IFormatProvider, Int32)
Egy adott stílusban és kultúrában megadott formátumban lévő szám sztringképét 32 bites aláírt egész szám megfelelőjeként alakítja át. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] int % result);
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out int result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * int -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Integer) As Boolean
Paraméterek
- s
- String
Egy konvertálni kívánt számot tartalmazó sztring. A sztringet a rendszer a megadott stílussal értelmezi style.
- style
- NumberStyles
Az enumerálási értékek bitenkénti kombinációja, amely azokat a stíluselemeket jelzi, amelyek a snézetben jelen lehetnek. Egy jellemzően megadható érték a következő Integer: .
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási sinformációkat tartalmazza.
- result
- Int32
A metódus visszatérésekor a 32 bites aláírt egész szám értéke megegyezik a benne foglalt sszámmal, ha az átalakítás sikeres volt, vagy nulla, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter null vagy Empty, nem megfelelő styleformátumban van, vagy az Int32.MinValue-nál kisebb vagy az Int32.MaxValue-nál nagyobb számot jelöl. Ez a paraméter nem inicializálva lesz átadva; az eredetileg megadott result értékek felülíródnak.
Válaszok
trueha s sikeresen konvertálták; ellenkező esetben. false
Kivételek
style nem érték NumberStyles .
-vagy-
stylenem az értékek és HexNumber az AllowHexSpecifier értékek kombinációja.
Példák
Az alábbi példa számos különböző sztringgel és NumberStyles értékkel hívja meg a Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) metódust.
using System;
using System.Globalization;
public class StringParsing
{
public static void Main()
{
string numericString;
NumberStyles styles;
numericString = "106779";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-30677";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
styles = NumberStyles.AllowLeadingSign;
CallTryParse(numericString, styles);
numericString = "301677-";
CallTryParse(numericString, styles);
styles = styles | NumberStyles.AllowTrailingSign;
CallTryParse(numericString, styles);
numericString = "$10634";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
styles = NumberStyles.Integer | NumberStyles.AllowCurrencySymbol;
CallTryParse(numericString, styles);
numericString = "10345.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10345.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "22,593";
styles = NumberStyles.Integer | NumberStyles.AllowThousands;
CallTryParse(numericString, styles);
numericString = "12E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "12E03";
CallTryParse(numericString, styles);
numericString = "80c1";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x80C1";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
CultureInfo provider;
// If currency symbol is allowed, use en-US culture.
if ((styles & NumberStyles.AllowCurrencySymbol) > 0)
provider = new CultureInfo("en-US");
else
provider = CultureInfo.InvariantCulture;
bool success = int.TryParse(stringToConvert, styles,
provider, out int number);
if (success)
Console.WriteLine($"Converted '{stringToConvert}' to {number}.");
else
Console.WriteLine($"Attempted conversion of '{stringToConvert}' failed.");
}
}
// The example displays the following output to the console:
// Converted '106779' to 106779.
// Attempted conversion of '-30677' failed.
// Converted '-30677' to -30677.
// Attempted conversion of '301677-' failed.
// Converted '301677-' to -301677.
// Attempted conversion of '$10634' failed.
// Converted '$10634' to 10634.
// Converted '10345.00' to 10345.
// Attempted conversion of '10345.72' failed.
// Converted '22,593' to 22593.
// Attempted conversion of '12E-01' failed.
// Converted '12E03' to 12000.
// Converted '80c1' to 32961.
// Attempted conversion of '0x80C1' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) styles =
let provider =
// If currency symbol is allowed, use en-US culture.
if int (styles &&& NumberStyles.AllowCurrencySymbol) > 0 then
CultureInfo "en-US"
else
CultureInfo.InvariantCulture
match Int32.TryParse(stringToConvert, styles, provider) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let numericString = "106779"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-30677"
let styles = NumberStyles.None
callTryParse numericString styles
let styles = NumberStyles.AllowLeadingSign
callTryParse numericString styles
let numericString = "301677-"
callTryParse numericString styles
let styles = styles ||| NumberStyles.AllowTrailingSign
callTryParse numericString styles
let numericString = "$10634"
let styles = NumberStyles.Integer
callTryParse numericString styles
let styles = NumberStyles.Integer ||| NumberStyles.AllowCurrencySymbol
callTryParse numericString styles
let numericString = "10345.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 = "22,593"
let styles = NumberStyles.Integer ||| NumberStyles.AllowThousands
callTryParse numericString styles
let numericString = "12E-01"
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse numericString styles
let numericString = "12E03"
callTryParse numericString styles
let numericString = "80c1"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x80C1"
callTryParse numericString NumberStyles.HexNumber
0
// The example displays the following output to the console:
// Converted '106779' to 106779.
// Attempted conversion of '-30677' failed.
// Converted '-30677' to -30677.
// Attempted conversion of '301677-' failed.
// Converted '301677-' to -301677.
// Attempted conversion of '$10634' failed.
// Converted '$10634' to 10634.
// Converted '10345.00' to 10345.
// Attempted conversion of '10345.72' failed.
// Converted '22,593' to 22593.
// Attempted conversion of '12E-01' failed.
// Converted '12E03' to 12000.
// Converted '80c1' to 32961.
// Attempted conversion of '0x80C1' failed.
Imports System.Globalization
Module StringParsing
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "106779"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-30677"
styles = NumberStyles.None
CallTryParse(numericString, styles)
styles = NumberStyles.AllowLeadingSign
CallTryParse(numericString, styles)
numericString = "301677-"
CallTryParse(numericString, styles)
styles = styles Or NumberStyles.AllowTrailingSign
CallTryParse(numericString, styles)
numericString = "$10634"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
styles = NumberStyles.Integer Or NumberStyles.AllowCurrencySymbol
CallTryParse(numericString, styles)
numericString = "10345.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10345.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "22,593"
styles = NumberStyles.Integer Or NumberStyles.AllowThousands
CallTryParse(numericString, styles)
numericString = "12E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "12E03"
CallTryParse(numericString, styles)
numericString = "80c1"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x80C1"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As Integer
Dim provider As CultureInfo
' If currency symbol is allowed, use en-US culture.
If CBool(styles And NumberStyles.AllowCurrencySymbol) Then
provider = CultureInfo.CurrentCulture
Else
provider = New CultureInfo("en-US")
End If
Dim result As Boolean = Int32.TryParse(stringToConvert, styles, _
provider, 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 '106779' to 106779.
' Attempted conversion of '-30677' failed.
' Converted '-30677' to -30677.
' Attempted conversion of '301677-' failed.
' Converted '301677-' to -301677.
' Attempted conversion of '$10634' failed.
' Converted '$10634' to 10634.
' Converted '10345.00' to 10345.
' Attempted conversion of '10345.72' failed.
' Converted '22,593' to 22593.
' Attempted conversion of '12E-01' failed.
' Converted '12E03' to 12000.
' Converted '80c1' to 32961.
' Attempted conversion of '0x80C1' failed.
Megjegyzések
A TryParse metódus hasonló a Parse metódushoz, kivéve, ha a TryParse metódus nem ad kivételt, ha az átalakítás sikertelen. Nem szükséges kivételkezelést használni egy FormatException érvénytelen és nem elemezhető esemény s teszteléséhez.
A style paraméter meghatározza azokat a stíluselemeket (például a szóközt vagy a pozitív vagy negatív előjelet), amelyek a paraméterben s engedélyezve vannak az elemzési művelet sikerességéhez. Az enumerálás bitjelölőinek kombinációjának NumberStyles kell lennie. Az értéktől stylefüggően a paraméter a s következő elemeket tartalmazhatja:
[ws][$][jel][számjegyek;]számjegyek[.fractional_digits][e[jel]számjegyek][ws]
Vagy ha a paraméter a style következőket tartalmazza AllowHexSpecifier:
[ws]hexdigits[ws]
A szögletes zárójelben ([ és ]) szereplő elemek nem kötelezőek. Az alábbi táblázat az egyes elemeket ismerteti.
| Elem | Description |
|---|---|
| Ws | Nem kötelező üres terület. A fehér terület a jelölőt tartalmazó terület elején sstyle, vagy a jelző végén styleNumberStyles.AllowTrailingWhites jelenhet meg.NumberStyles.AllowLeadingWhite |
| $ | Kultúraspecifikus pénznemszimbólum. A sztringben elfoglalt helyét a CurrencyPositivePattern paraméter metódusa NumberFormatInfo által GetFormat visszaadott objektum tulajdonsága provider határozza meg. A pénznemszimbólum akkor jelenhet meg, s ha style tartalmazza a jelölőt NumberStyles.AllowCurrencySymbol . |
| jel | Nem kötelező jel. A jelszimbólum akkor jelenhet meg, s ha style az tartalmazza a NumberStyles.AllowLeadingSignNumberStyles.AllowTrailingSign jelzőket. |
| Számjegy | Számjegyek sorozata 0 és 9 között. |
| , | Egy kultúraspecifikus ezres elválasztó. A megadott provider kultúra ezres elválasztója akkor jelenhet meg s , ha style tartalmazza a jelölőt NumberStyles.AllowThousands . |
| . | Kultúraspecifikus tizedesjel. A megadott kultúra provider tizedesjele akkor jelenhet meg, s ha style tartalmazza a jelölőt NumberStyles.AllowDecimalPoint . |
| fractional_digits | A 0 számjegy egy vagy több előfordulása. A törtjegyek csak akkor jelenhetnek meg, s ha style a jelölőt NumberStyles.AllowDecimalPoint is tartalmazzák. |
| e | Az "e" vagy "E" karakter, amely azt jelzi, hogy az érték exponenciális jelölésben jelenik meg. A s paraméter exponenciális jelöléssel jelölhet egy számot, ha style tartalmazza a jelölőt NumberStyles.AllowExponent . |
| hexdigits | Hexadecimális számjegyek sorozata 0 és f között, vagy 0 és F között. |
Note
A befejező NUL (U+0000) karaktereket s az elemzési művelet figyelmen kívül hagyja, függetlenül az style argumentum értékétől.
A csak tizedesjegyekkel rendelkező sztringek (amelyek a NumberStyles.None jelölőnek felelnek meg) mindig sikeresen elemezhetők. A fennmaradó NumberStyles tagok többsége olyan elemeket szabályoz, amelyek lehetnek, de nem szükségesek a bemeneti sztringben való szerephez. Az alábbi táblázat azt mutatja be, hogy az egyes NumberStyles tagok hogyan befolyásolják a benne található selemeket.
| Nem összetett NumberStyles-értékek | A számjegyeken kívül az s-ben engedélyezett elemek |
|---|---|
| NumberStyles.None | Csak tizedesjegyek. |
| NumberStyles.AllowDecimalPoint | A tizedesjel (.) és fractional_digits elemek. A fractional_digits azonban csak egy vagy több 0 számjegyből állhat, vagy a metódus visszaadja false. |
| NumberStyles.AllowExponent | A s paraméter exponenciális jelölést is használhat. Ha s egy számot exponenciális jelöléssel jelöl, akkor az adattípus tartományán Int32 belüli egész számnak kell lennie, nem nulla, tört összetevő nélkül. |
| NumberStyles.AllowLeadingWhite | A ws elem az elején s. |
| NumberStyles.AllowTrailingWhite | A ws elem a végén s. |
| NumberStyles.AllowLeadingSign | A számjegyek előtt jel jelenhet meg. |
| NumberStyles.AllowTrailingSign | Számjegyek után jel jelenhet meg. |
| NumberStyles.AllowParentheses | A numerikus értéket tartalmazó zárójelek formájában megjelenő jelelem . |
| NumberStyles.AllowThousands | Az ezres elválasztó (,) elem. |
| NumberStyles.AllowCurrencySymbol | Az $ elem. |
| NumberStyles.Currency | Minden elem. A s paraméter nem jelölhet hexadecimális számot vagy exponenciális számokat. |
| NumberStyles.Float | A ws elem az elején vagy végén s, a jel elején s, és a tizedesjel (.) szimbólum. A s paraméter exponenciális jelölést is használhat. |
| NumberStyles.Number | A ws, sign, ezres elválasztó (,), és decimális pont (.) elemek. |
| NumberStyles.Any | Az összes stílus, kivéve s a hexadecimális számokat nem jelölheti. |
Ha a NumberStyles.AllowHexSpecifier jelölőt használja, s hexadecimális értéknek kell lennie előtag nélkül. A "C9AF3" például sikeresen elemzi, de a "0xC9AF3" nem. Az egyetlen olyan jelző, amely a következőben styleNumberStyles.AllowLeadingWhite szerepelhet: és NumberStyles.AllowTrailingWhite. (Az NumberStyles enumerálás összetett stílussal rendelkezik, NumberStyles.HexNumberamely mindkét szóközjelölőt tartalmazza.)
A provider paraméter egy IFormatProvider implementáció, például objektum CultureInfo vagy NumberFormatInfo objektum, amelynek GetFormat metódusa egy objektumot NumberFormatInfo ad vissza. Az NumberFormatInfo objektum kultúraspecifikus információkat nyújt a formátumról s. Ha provider igen null, akkor a rendszer az NumberFormatInfo aktuális kultúra objektumát használja.
Lásd még
- Parse(String)
- NumberStyles
- ToString()
Numerikus sztringek elemzése a .NET
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int32)
Egy adott stílusban és kultúrában megadott formátumban lévő szám span-ábrázolását 32 bites aláírt egész szám egyenértékűvé alakítja. A visszatérési érték azt jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] int % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out int result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * int -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Integer) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
A konvertálni kívánt számot képviselő karaktereket tartalmazó span. A tartományt a rendszer a megadott stílussal értelmezi style.
- style
- NumberStyles
Az enumerálási értékek bitenkénti kombinációja, amely azokat a stíluselemeket jelzi, amelyek a snézetben jelen lehetnek. Egy jellemzően megadható érték a következő Integer: .
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási sinformációkat tartalmazza.
- result
- Int32
A metódus visszatérésekor a 32 bites aláírt egész szám értéke megegyezik a benne foglalt sszámmal, ha az átalakítás sikeres volt, vagy nulla, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter null vagy Empty, nem megfelelő styleformátumban van, vagy az Int32.MinValue-nál kisebb vagy az Int32.MaxValue-nál nagyobb számot jelöl. Ez a paraméter nem inicializálva lesz átadva; az eredetileg megadott result értékek felülíródnak.
Válaszok
trueha s sikeresen konvertálták; ellenkező esetben. false