BigInteger.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.
Megpróbálja átalakítani egy szám sztringképét annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
Túlterhelések
| Name | Description |
|---|---|
| TryParse(ReadOnlySpan<Char>, BigInteger) |
Megpróbálja átalakítani a megadott írásvédett karaktertartományban lévő szám ábrázolását annak megfelelőjeként BigInteger , és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Byte>, BigInteger) | |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, BigInteger) | |
| TryParse(String, BigInteger) |
Megpróbálja átalakítani egy szám sztringképét annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, BigInteger) | |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, BigInteger) |
Egy karaktertartományt próbál elemezni egy értékben. |
| TryParse(String, IFormatProvider, BigInteger) |
Megpróbál egy sztringet egy értékbe elemezni. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger) |
Megpróbálja átalakítani egy szám sztringképét annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(String, NumberStyles, IFormatProvider, BigInteger) |
Egy szám sztring-ábrázolását egy megadott stílusban és kultúraspecifikus formátumban próbálja átalakítani annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
TryParse(ReadOnlySpan<Char>, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Megpróbálja átalakítani a megadott írásvédett karaktertartományban lévő szám ábrázolását annak megfelelőjeként BigInteger , és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<char> value, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * BigInteger -> bool
Public Shared Function TryParse (value As ReadOnlySpan(Of Char), ByRef result As BigInteger) As Boolean
Paraméterek
- value
- ReadOnlySpan<Char>
Egy szám írásvédett karakterként való ábrázolása.
- result
- BigInteger
Ha ez a metódus visszaadja, a BigInteger számnak megfelelő értéket valuetartalmaz, vagy nullát (0), ha az átalakítás sikertelen. Az átalakítás sikertelen, ha a value paraméter üres karaktersáv, vagy nem a megfelelő formátumú. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha value sikeresen konvertálták; ellenkező esetben. false
Lásd még
A következőre érvényes:
TryParse(ReadOnlySpan<Byte>, BigInteger)
- Forrás:
- BigInteger.cs
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As BigInteger) As Boolean
Paraméterek
- utf8Text
- ReadOnlySpan<Byte>
- result
- BigInteger
Válaszok
A következőre érvényes:
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- utf8Text
- ReadOnlySpan<Byte>
- style
- NumberStyles
- provider
- IFormatProvider
- result
- BigInteger
Válaszok
A következőre érvényes:
TryParse(String, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Megpróbálja átalakítani egy szám sztringképét annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(string value, out System.Numerics.BigInteger result);
public static bool TryParse(string? value, out System.Numerics.BigInteger result);
static member TryParse : string * BigInteger -> bool
Public Shared Function TryParse (value As String, ByRef result As BigInteger) As Boolean
Paraméterek
- value
- String
Egy szám sztring-ábrázolása.
- result
- BigInteger
Ha ez a metódus visszaadja, a BigInteger számnak megfelelő értéket valuetartalmaz, vagy nullát (0), ha az átalakítás sikertelen. Az átalakítás meghiúsul, ha a value paraméter null a megfelelő formátumú vagy nem megfelelő. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha value sikeresen konvertálták; ellenkező esetben. false
Kivételek
value az null.
Példák
Az alábbi példa két TryParse(String, BigInteger) objektum példányosítására használja a BigInteger metódust. Ha a konvertálás sikeres, az egyes objektumokat megszorozza egy másik számmal, majd meghívja a Compare metódust a két objektum közötti kapcsolat meghatározásához.
BigInteger number1, number2;
bool succeeded1 = BigInteger.TryParse("-12347534159895123", out number1);
bool succeeded2 = BigInteger.TryParse("987654321357159852", out number2);
if (succeeded1 && succeeded2)
{
number1 *= 3;
number2 *= 2;
switch (BigInteger.Compare(number1, number2))
{
case -1:
Console.WriteLine("{0} is greater than {1}.", number2, number1);
break;
case 0:
Console.WriteLine("{0} is equal to {1}.", number1, number2);
break;
case 1:
Console.WriteLine("{0} is greater than {1}.", number1, number2);
break;
}
}
else
{
if (!succeeded1)
Console.WriteLine("Unable to initialize the first BigInteger value.");
if (!succeeded2)
Console.WriteLine("Unable to initialize the second BigInteger value.");
}
// The example displays the following output:
// 1975308642714319704 is greater than -37042602479685369.
let mutable number1 = BigInteger.Zero
let mutable number2 = BigInteger.Zero
let succeeded1 = BigInteger.TryParse("-12347534159895123", &number1)
let succeeded2 = BigInteger.TryParse("987654321357159852", &number2)
if succeeded1 && succeeded2 then
number1 <- number1 * 3I
number2 <- number2 * 2I
match BigInteger.Compare(number1, number2) with
| -1 -> printfn $"{number2} is greater than {number2}."
| 0 -> printfn $"{number1} is equal to {number2}."
| 1
| _ -> printfn $"{number1} is greater than {number2}."
else
if not succeeded1 then
printfn "Unable to initialize the first BigInteger value."
if not succeeded2 then
printfn "Unable to initialize the second BigInteger value."
// The example displays the following output:
// 1975308642714319704 is greater than -37042602479685369.
Dim number1 As BigInteger = BigInteger.Zero
Dim number2 As BigInteger = BigInteger.Zero
Dim succeeded1 As Boolean = BigInteger.TryParse("-12347534159895123", number1)
Dim succeeded2 As Boolean = BigInteger.TryParse("987654321357159852", number2)
If succeeded1 AndAlso succeeded2
number1 *= 3
number2 *= 2
Select Case BigInteger.Compare(number1, number2)
Case -1
Console.WriteLine("{0} is greater than {1}.", number2, number1)
Case 0
Console.WriteLine("{0} is equal to {1}.", number1, number2)
Case 1
Console.WriteLine("{0} is greater than {1}.", number1, number2)
End Select
Else
If Not succeeded1 Then
Console.WriteLine("Unable to initialize the first BigInteger value.")
End If
If Not succeeded2 Then
Console.WriteLine("Unable to initialize the second BigInteger value.")
End If
End If
' The example displays the following output:
' 1975308642714319704 is greater than -37042602479685369.
Megjegyzések
A TryParse(String, BigInteger) metódus a metódushoz hasonló Parse(String) , azzal a kivétellel, hogy az átalakítás meghiúsulása esetén nem ad kivételt. Ez a módszer szükségtelenné teszi a kivételkezelés használatát egy FormatException érvénytelen, value és nem elemezhető eset teszteléséhez.
A value paraméternek egy decimális szám sztring-ábrázolásának kell lennie az alábbi formában:
[ws][jel]számjegyek[ws]
A szögletes zárójelek ([ és ]) elemei nem kötelezőek. Az alábbi táblázat az egyes elemeket ismerteti.
| Elem | Leírás |
|---|---|
| Ws | Nem kötelező üres terület. |
| jel | Nem kötelező jel. Az érvényes jelkarakterek az NumberFormatInfo.NegativeSign aktuális kultúra és NumberFormatInfo.PositiveSign tulajdonságok alapján vannak meghatározva. |
| Számjegy | Tizedesjegyek sorozata 0 és 9 között. |
Note
A paraméter által megadott sztring value nem tartalmazhat csoportelválasztót vagy tizedeselválasztót, és nem rendelkezhet tizedes törtrészrel.
A value paramétert a stílus használatával értelmezi a NumberStyles.Integer rendszer. A tizedesjegyeken kívül csak a bevezetőjellel rendelkező kezdő és záró szóközök engedélyezettek. Ha explicit módon szeretné definiálni a stíluselemeket a kultúraspecifikus formázási információkkal, hívja valuemeg a metódust TryParse(String, NumberStyles, IFormatProvider, BigInteger) .
A value paraméter elemzéséhez használja a formázási információkat egy NumberFormatInfo objektumban az aktuális kultúrához. További információért lásd NumberFormatInfo.CurrentInfo.
Ez a túlterhelés a value paraméter összes számjegyét decimális számjegyként értelmezi. A hexadecimális szám sztringképének elemzéséhez hívja meg inkább a túlterhelést TryParse(String, NumberStyles, IFormatProvider, BigInteger) .
Lásd még
A következőre érvényes:
TryParse(ReadOnlySpan<Byte>, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = IUtf8SpanParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- utf8Text
- ReadOnlySpan<Byte>
- provider
- IFormatProvider
- result
- BigInteger
Válaszok
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Egy karaktertartományt próbál elemezni egy értékben.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = ISpanParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
Az elemezni kívánt karakterek száma.
- provider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz a fájlról s.
- result
- BigInteger
Amikor ez a metódus visszatér, a sikeres elemzés seredményét vagy a hiba egy nem definiált értékét tartalmazza.
Válaszok
trueha s sikeresen elemezték; ellenkező esetben. false
A következőre érvényes:
TryParse(String, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Megpróbál egy sztringet egy értékbe elemezni.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = IParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : string * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- s
- String
Az elemezni kívánt sztring.
- provider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz a fájlról s.
- result
- BigInteger
Amikor ez a metódus visszatér, a sikeres elemzés s eredményét vagy egy nem definiált hibát tartalmaz.
Válaszok
trueha s sikeresen elemezték; ellenkező esetben. false
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Megpróbálja átalakítani egy szám sztringképét annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
public static bool TryParse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style, IFormatProvider provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (value As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- value
- ReadOnlySpan<Char>
Egy szám írásvédett karakterként való ábrázolása.
- style
- NumberStyles
Az enumerálási értékek bitenkénti kombinációja, amely azokat a stíluselemeket jelzi, amelyek a valuenézetben jelen lehetnek. Egy jellemzően megadható érték a következő Integer: .
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási valueinformációkat tartalmazza.
- result
- BigInteger
Ha ez a metódus visszaadja, a BigInteger benne található valueszámmal egyenértékű értéket tartalmaz, vagy Zero ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a value paraméter üres karaktersáv, vagy nem megfelelő styleformátumban van. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha value sikeresen konvertálták; ellenkező esetben. false
Kivételek
style nem érték NumberStyles .
-vagy-
styleA AllowHexSpecifier egy másik értékkel együtt tartalmazza a HexNumber jelölőt.
Megjegyzések
Ez a túlterhelés a metódushoz hasonló Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) , azzal a kivétellel, hogy az átalakítás meghiúsulása esetén nem okoz kivételt. Ez a módszer szükségtelenné teszi a kivételkezelést egy FormatException érvénytelen és nem elemezhető eset value 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 value 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 value következő elemeket tartalmazhatja:
[ws][$][jel][számjegyek;]számjegyek[.fractional_digits][E[jel]exponential_digits][ws]
Ha a style paraméter tartalmazza AllowHexSpecifier, a value paraméter a következő elemeket tartalmazhatja:
[ws]hexdigits[ws]
A szögletes zárójelek ([ és ]) elemei nem kötelezőek. Az alábbi táblázat az egyes elemeket ismerteti.
| Elem | Leírás |
|---|---|
| Ws | Nem kötelező üres terület. Ha a jelölőt is magában foglalja, akkor a valuestyle kezdő vagy a végén NumberStyles.AllowLeadingWhitevaluestyle fehér terület jelenhet meg.NumberStyles.AllowTrailingWhite |
| $ | Kultúraspecifikus pénznemszimbólum. Pozícióját value a CurrencyPositivePattern paraméter metódusa NumberFormatInfo által GetFormat visszaadott objektum tulajdonsága provider határozza meg. A pénznemszimbólum akkor jelenhet meg, value ha style tartalmazza a jelölőt NumberStyles.AllowCurrencySymbol . |
| jel | Nem kötelező jel. A jel akkor jelenhet meg, ha tartalmazza a jelölőt, és a végén, value ha style tartalmazza a jelölőtNumberStyles.AllowLeadingSign.valuestyleNumberStyles.AllowTrailingSign Zárójelekkel negatív értéket jelölhet value , ha style a NumberStyles.AllowParentheses jelölőt is tartalmazza. |
| Számjegy | Számjegyek sorozata 0 és 9 között. |
| , | Egy kultúraspecifikus csoportelválasztó. A megadott provider kulturális környezet csoportelválasztója akkor jelenhet meg, value ha style tartalmazza a jelölőt NumberStyles.AllowThousands . |
| . | Kultúraspecifikus tizedesjel. A megadott kultúra provider tizedesjele akkor jelenhet meg, value 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, value 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 (tudományos) jelölésben jelenik meg. A value paraméter exponenciális jelöléssel jelölhet egy számot, ha style tartalmazza a jelölőt NumberStyles.AllowExponent . |
| exponential_digits | Számjegyek sorozata 0 és 9 között. A value 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.
Nem összetett NumberStyles értékek |
A számjegyeken kívül az értékben engedélyezett elemek |
|---|---|
| None | Csak tizedesjegyek. |
| 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. |
| AllowExponent | Az "e" vagy "E" karakter, amely exponenciális jelölést jelez, valamint exponential_digits. Ha value egy számot exponenciális jelölésben jelöl, akkor nem lehet nem nulla, tört összetevő. |
| AllowLeadingWhite | A ws elem az elején value. |
| AllowTrailingWhite | A ws elem a végén value. |
| AllowLeadingSign | A számjegyek előtti jelelem. |
| AllowTrailingSign | A számjegyek utáni jelelem. |
| AllowParentheses | A numerikus értéket tartalmazó zárójelek formájában megjelenő jelelem . |
| AllowThousands | A csoportelválasztó (,) elem. |
| AllowCurrencySymbol | A pénznem ($) elem. |
| Currency | Minden elem.
value Nem jelölhet azonban hexadecimális számot vagy exponenciális számokat. |
| Float | A ws elem a kezdő vagy a végén value, a jel elején value, és a decimális pont (.) szimbólum. A value paraméter exponenciális jelölést is használhat. |
| Number | A ws, sign, group szeparator (,) és decimális (.) elemek. |
| Any | Minden elem.
value A hexadecimális szám azonban nem jelölhető. |
Ha a NumberStyles.AllowHexSpecifier jelölőt használja, value hexadecimális értéknek kell lennie. Az egyetlen olyan jelző, amely a következőben styleNumberStyles.AllowLeadingWhite szerepelhet: és NumberStyles.AllowTrailingWhite. (Az NumberStyles enumerálás összetett stílussal rendelkezik, HexNumberamely a térközjelzőket is tartalmazza.)
A provider paraméter implementáció IFormatProvider . A GetFormat metódus egy NumberFormatInfo objektumot ad vissza, amely kultúraspecifikus információkat nyújt a formátumáról value. A provider paraméter az alábbiak bármelyike lehet:
Olyan CultureInfo objektum, amely a formázási információkat tartalmazó kultúrát jelöli. A GetFormat metódus visszaadja azt az NumberFormatInfo objektumot, amely numerikus formázási információkat biztosít az adott kultúrához.
Numerikus NumberFormatInfo formázási adatokat tartalmazó objektum. (A implementációja GetFormat csak önmagát adja vissza.)
Egy egyéni objektum, amely implementálja a elemet IFormatProvider. A GetFormat metódus példányosítja és visszaadja a NumberFormatInfo formázási információkat biztosító objektumot.
Ha provider igen null, akkor a rendszer az NumberFormatInfo aktuális kultúra objektumát használja.
Lásd még
A következőre érvényes:
TryParse(String, NumberStyles, IFormatProvider, BigInteger)
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
- Forrás:
- BigInteger.cs
Egy szám sztring-ábrázolását egy megadott stílusban és kultúraspecifikus formátumban próbálja átalakítani annak BigInteger megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public:
static bool TryParse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(string value, System.Globalization.NumberStyles style, IFormatProvider provider, out System.Numerics.BigInteger result);
public static bool TryParse(string? value, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (value As String, style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Paraméterek
- value
- String
Egy szám sztring-ábrázolása. 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 valuenézetben jelen lehetnek. Egy jellemzően megadható érték a következő Integer: .
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási valueinformációkat tartalmazza.
- result
- BigInteger
Ha ez a metódus visszaadja, a BigInteger benne található valueszámmal egyenértékű értéket tartalmaz, vagy Zero ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a value paraméter olyan formátumban van null , vagy nem megfelelő style. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha a value paraméter konvertálása sikeresen megtörtént; ellenkező esetben. false
Kivételek
style nem érték NumberStyles .
-vagy-
styleA AllowHexSpecifier egy másik értékkel együtt tartalmazza a HexNumber jelölőt.
Példák
Az alábbi példa meghív néhány hívást a metódushoz az TryParse(String, NumberStyles, IFormatProvider, BigInteger) értékek és style paraméterek különböző kombinációinak provider használatával.
string numericString;
BigInteger number = BigInteger.Zero;
// Call TryParse with default values of style and provider.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer,
null, out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with the default value of style and
// a provider supporting the tilde as negative sign.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
// Method returns false because of presence of negative sign.
numericString = " -500 ";
if (BigInteger.TryParse(numericString,
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192";
if (BigInteger.TryParse(numericString,
NumberStyles.AllowHexSpecifier,
null, out number))
Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with AllowHexSpecifier and a negative hex value.
// Conversion fails because of presence of negative sign.
numericString = "-3af";
if (BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with only NumberStyles.None.
// Conversion fails because of presence of white space and sign.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.None,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
new CultureInfo("fr-FR"), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion succeeds because the string is properly formatted
// For the fr-FR culture.
numericString = "9 031 425 666 123 546,00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
new CultureInfo("fr-FR"), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// The example displays the following output:
// ' -300 ' was converted to -300.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of ' -500 ' to a BigInteger failed.
// 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
// Conversion of '-3af' to a BigInteger failed.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
// '9 031 425 666 123 546,00' was converted to 9031425666123546.
// Call TryParse with default values of style and provider.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.Integer, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with the default value of style and
// a provider supporting the tilde as negative sign.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.Integer, new BigIntegerFormatProvider()) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
// Method returns false because of presence of negative sign.
let numericString = " -500 "
match
BigInteger.TryParse(
numericString,
NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite,
new BigIntegerFormatProvider()
)
with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with AllowHexSpecifier and a hex value.
let numericString = "F14237FFAAC086455192"
match BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}, or 0x{number:x}."
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with AllowHexSpecifier and a negative hex value.
// Conversion fails because of presence of negative sign.
let numericString = "-3af"
match BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}, or 0x{number:x}."
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with only NumberStyles.None.
// Conversion fails because of presence of white space and sign.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.None, new BigIntegerFormatProvider()) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion fails because the string is formatted for the en-US culture.
let numericString = "9,031,425,666,123,546.00"
match BigInteger.TryParse(numericString, NumberStyles.Any, new CultureInfo("fr-FR")) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion succeeds because the string is properly formatted
// For the fr-FR culture.
let numericString = "9 031 425 666 123 546,00"
match BigInteger.TryParse(numericString, NumberStyles.Any, new CultureInfo("fr-FR")) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// The example displays the following output:
// ' -300 ' was converted to -300.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of ' -500 ' to a BigInteger failed.
// 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
// Conversion of '-3af' to a BigInteger failed.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
// '9 031 425 666 123 546,00' was converted to 9031425666123546.
Dim numericString As String
Dim number As BigInteger = BigInteger.Zero
' Call TryParse with default values of style and provider.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
Nothing, number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with the default value of style and
' a provider supporting the tilde as negative sign.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
' Method returns false because of presence of negative sign.
numericString = " -500 "
If BigInteger.TryParse(numericString,
NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192"
If BigInteger.TryParse(numericString,
NumberStyles.AllowHexSpecifier,
Nothing, number) Then
Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with AllowHexSpecifier and a negative hex value.
' Conversion fails because of presence of negative sign.
numericString = "-3af"
If BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with only NumberStyles.None.
' Conversion fails because of presence of white space and sign.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.None,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
New CultureInfo("fr-FR"), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion succeeds because the string is properly formatted
' For the fr-FR culture.
numericString = "9 031 425 666 123 546,00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
New CultureInfo("fr-FR"), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' The example displays the following output:
' ' -300 ' was converted to -300.
' Conversion of ' -300 ' to a BigInteger failed.
' Conversion of ' -500 ' to a BigInteger failed.
' 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
' Conversion of '-3af' to a BigInteger failed.
' Conversion of ' -300 ' to a BigInteger failed.
' Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
' '9 031 425 666 123 546,00' was converted to 9031425666123546.
A metódushoz TryParse(String, NumberStyles, IFormatProvider, BigInteger) intézett egyes hívások száma az alábbi BigIntegerFormatProvider osztály egy példányát adja át, amely negatív jelként egy tilde (~) értéket határoz meg.
public class BigIntegerFormatProvider : IFormatProvider
{
public object GetFormat(Type formatType)
{
if (formatType == typeof(NumberFormatInfo))
{
NumberFormatInfo numberFormat = new NumberFormatInfo();
numberFormat.NegativeSign = "~";
return numberFormat;
}
else
{
return null;
}
}
}
type BigIntegerFormatProvider() =
interface IFormatProvider with
member _.GetFormat(formatType: Type) =
if formatType = typeof<NumberFormatInfo> then
let numberFormat = new NumberFormatInfo()
numberFormat.NegativeSign <- "~"
numberFormat
else
null
Public Class BigIntegerFormatProvider : Implements IFormatProvider
Public Function GetFormat(formatType As Type) As Object _
Implements IFormatProvider.GetFormat
If formatType Is GetType(NumberFormatInfo) Then
Dim numberFormat As New NumberFormatInfo
numberFormat.NegativeSign = "~"
Return numberFormat
Else
Return Nothing
End If
End Function
End Class
Megjegyzések
A TryParse(String, NumberStyles, IFormatProvider, BigInteger) metódus a metódushoz hasonló Parse(String, NumberStyles, IFormatProvider) , azzal a kivétellel, hogy az átalakítás meghiúsulása esetén nem ad kivételt. Ez a módszer szükségtelenné teszi a kivételkezelést egy FormatException érvénytelen és nem elemezhető eset value 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 value 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 value következő elemeket tartalmazhatja:
[ws][$][jel][számjegyek;]számjegyek[.fractional_digits][E[jel]exponential_digits][ws]
Ha a style paraméter tartalmazza AllowHexSpecifier, a value paraméter a következő elemeket tartalmazhatja:
[ws]hexdigits[ws]
A szögletes zárójelek ([ és ]) elemei nem kötelezőek. Az alábbi táblázat az egyes elemeket ismerteti.
| Elem | Leírás |
|---|---|
| Ws | Nem kötelező üres terület. Ha a jelölőt is magában foglalja, akkor a valuestyle kezdő vagy a végén NumberStyles.AllowLeadingWhitevaluestyle fehér terület jelenhet meg.NumberStyles.AllowTrailingWhite |
| $ | 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, value ha style tartalmazza a jelölőt NumberStyles.AllowCurrencySymbol . |
| jel | Nem kötelező jel. A jel akkor jelenhet meg, ha tartalmazza a jelölőt, és a végén, value ha style tartalmazza a jelölőtNumberStyles.AllowLeadingSign.valuestyleNumberStyles.AllowTrailingSign Zárójelekkel negatív értéket jelölhet value , ha style a NumberStyles.AllowParentheses jelölőt is tartalmazza. |
| Számjegy | Számjegyek sorozata 0 és 9 között. |
| , | Egy kultúraspecifikus csoportelválasztó. A megadott provider kulturális környezet csoportelválasztója akkor jelenhet meg, value ha style tartalmazza a jelölőt NumberStyles.AllowThousands . |
| . | Kultúraspecifikus tizedesjel. A megadott kultúra provider tizedesjele akkor jelenhet meg, value 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, value 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 (tudományos) jelölésben jelenik meg. A value paraméter exponenciális jelöléssel jelölhet egy számot, ha style tartalmazza a jelölőt NumberStyles.AllowExponent . |
| exponential_digits | Számjegyek sorozata 0 és 9 között. A value 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 az ebben a bemeneti sztringben található, de nem kötelező elemeket szabályozza. Az alábbi táblázat azt mutatja be, hogy az egyes NumberStyles tagok hogyan befolyásolják a benne található valueelemeket.
Nem összetett NumberStyles értékek |
A számjegyeken kívül az értékben engedélyezett elemek |
|---|---|
| None | Csak tizedesjegyek. |
| 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. |
| AllowExponent | Az "e" vagy "E" karakter, amely exponenciális jelölést jelez, valamint exponential_digits. Ha value egy számot exponenciális jelölésben jelöl, akkor nem lehet nem nulla, tört összetevő. |
| AllowLeadingWhite | A ws elem az elején value. |
| AllowTrailingWhite | A ws elem a végén value. |
| AllowLeadingSign | A számjegyek előtti jelelem. |
| AllowTrailingSign | A számjegyek utáni jelelem. |
| AllowParentheses | A numerikus értéket tartalmazó zárójelek formájában megjelenő jelelem . |
| AllowThousands | A csoportelválasztó (,) elem. |
| AllowCurrencySymbol | A pénznem ($) elem. |
| Currency | Minden elem.
value Nem jelölhet azonban hexadecimális számot vagy exponenciális számokat. |
| Float | A ws elem a kezdő vagy a végén value, a jel elején value, és a decimális pont (.) szimbólum. A value paraméter exponenciális jelölést is használhat. |
| Number | A ws, sign, group szeparator (,) és decimális (.) elemek. |
| Any | Minden elem.
value A hexadecimális szám azonban nem jelölhető. |
Important
Ha a TryParse metódussal egy olyan érték sztringképének BigInteger kerekítésére használja, amelyet a ToString metódus adott ki, a metódust az "R" formátumjelölővel kell használnia BigInteger.ToString(String) az BigInteger érték sztring-ábrázolásának létrehozásához. Ellenkező esetben a BigInteger sztringábrázolás csak az eredeti érték 50 legjelentősebb számjegyét őrzi meg, és az adatok elveszhetnek, amikor a metódust TryParse használja az BigInteger érték visszaállítására.
Ha a NumberStyles.AllowHexSpecifier jelölőt használja, value hexadecimális értéknek kell lennie. Az egyetlen olyan jelző, amely a következőben styleNumberStyles.AllowLeadingWhite szerepelhet: és NumberStyles.AllowTrailingWhite. (Az NumberStyles enumerálás összetett stílussal rendelkezik, HexNumberamely a térközjelzőket is tartalmazza.)
Note
Ha value egy hexadecimális szám sztringképe, akkor nem előzhető meg olyan díszítés (például 0x vagy &h), amely hexadecimális számként különbözteti meg. Ez a konvertálás sikertelenségéhez vezet.
Ha value hexadecimális sztring, akkor a TryParse(String, NumberStyles, IFormatProvider, BigInteger) metódus negatív számként értelmezi value a két egymást kiegészítő ábrázolással tárolt számot, ha az első két hexadecimális számjegye nagyobb vagy egyenlő 0x80. Más szóval a metódus az első bájt value legmagasabb rendű bitét jelbitként értelmezi. Annak érdekében, hogy a hexadecimális sztring helyesen pozitív számként legyen értelmezve, az első számjegynek value nulla értékűnek kell lennie. A metódus például negatív értékként értelmezi 0x80 , de vagy pozitív értékként értelmezi 0x0800x0080 . Az alábbi példa a negatív és pozitív értékeket képviselő hexadecimális sztringek közötti különbséget mutatja be.
using System;
using System.Globalization;
using System.Numerics;
public class Example
{
public static void Main()
{
string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF",
"080", "0E293", "0F9A2FF", "0FFFFFFFF",
"0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
BigInteger number = BigInteger.Zero;
foreach (string hexString in hexStrings)
{
if (BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier,
null, out number))
Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
else
Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString);
}
}
}
// The example displays the following output:
// Converted 0x80 to -128.
// Converted 0xE293 to -7533.
// Converted 0xF9A2FF to -417025.
// Converted 0xFFFFFFFF to -1.
// Converted 0x080 to 128.
// Converted 0x0E293 to 58003.
// Converted 0x0F9A2FF to 16360191.
// Converted 0x0FFFFFFFF to 4294967295.
// Converted 0x0080 to 128.
// Converted 0x00E293 to 58003.
// Converted 0x00F9A2FF to 16360191.
// Converted 0x00FFFFFFFF to 4294967295.
open System.Globalization
open System.Numerics
let hexStrings =
[| "80"
"E293"
"F9A2FF"
"FFFFFFFF"
"080"
"0E293"
"0F9A2FF"
"0FFFFFFFF"
"0080"
"00E293"
"00F9A2FF"
"00FFFFFFFF" |]
for hexString in hexStrings do
match BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"Converted 0x{hexString} to {number}."
| _ -> printfn $"Cannot convert '{hexString}' to a BigInteger."
// The example displays the following output:
// Converted 0x80 to -128.
// Converted 0xE293 to -7533.
// Converted 0xF9A2FF to -417025.
// Converted 0xFFFFFFFF to -1.
// Converted 0x080 to 128.
// Converted 0x0E293 to 58003.
// Converted 0x0F9A2FF to 16360191.
// Converted 0x0FFFFFFFF to 4294967295.
// Converted 0x0080 to 128.
// Converted 0x00E293 to 58003.
// Converted 0x00F9A2FF to 16360191.
// Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics
Module Example
Public Sub Main()
Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF",
"080", "0E293", "0F9A2FF", "0FFFFFFFF",
"0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
Dim number As BigInteger = BigInteger.Zero
For Each hexString As String In hexStrings
If BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier,
Nothing, number) Then
Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
Else
Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString)
End If
Next
End Sub
End Module
' The example displays the following output:
' Converted 0x80 to -128.
' Converted 0xE293 to -7533.
' Converted 0xF9A2FF to -417025.
' Converted 0xFFFFFFFF to -1.
' Converted 0x080 to 128.
' Converted 0x0E293 to 58003.
' Converted 0x0F9A2FF to 16360191.
' Converted 0x0FFFFFFFF to 4294967295.
' Converted 0x0080 to 128.
' Converted 0x00E293 to 58003.
' Converted 0x00F9A2FF to 16360191.
' Converted 0x00FFFFFFFF to 4294967295.
A provider paraméter implementáció IFormatProvider . A GetFormat metódus egy NumberFormatInfo objektumot ad vissza, amely kultúraspecifikus információkat nyújt a formátumáról value. A provider paraméter az alábbiak bármelyike lehet:
Olyan CultureInfo objektum, amely a formázási információkat tartalmazó kultúrát jelöli. A GetFormat metódus visszaadja azt az NumberFormatInfo objektumot, amely numerikus formázási információkat biztosít az adott kultúrához.
Numerikus NumberFormatInfo formázási adatokat tartalmazó objektum. (A implementációja GetFormat csak önmagát adja vissza.)
Egy egyéni objektum, amely implementálja a elemet IFormatProvider. A GetFormat metódus példányosítja és visszaadja a NumberFormatInfo formázási információkat biztosító objektumot.
Ha provider igen null, akkor a rendszer az NumberFormatInfo aktuális kultúra objektumát használja.