Nyelv

BigInteger.TryParse Metódus

Definíció

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.

Lásd még

A következőre érvényes: