Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

BigInteger Explicit Conversione (BigInteger to UInt64)

 

Data di pubblicazione: ottobre 2016

clsCompliantAlternativeT:System.Double

Definisce una conversione esplicita di un BigInteger oggetto su un valore intero senza segno a 64 bit.

Questa API non è conforme a CLS.

Spazio dei nomi:   System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

public static explicit operator ulong (
	BigInteger value
)

Parametri

value
Type: System.Numerics.BigInteger

Valore da convertire in un intero senza segno a 64 bit.

Valore restituito

Type: System.UInt64

Oggetto che contiene il valore di value parametro.

Exception Condition
OverflowException

value è minore di UInt64.MinValue.

-oppure-

value è maggiore di UInt64.MaxValue.

Gli overload di Explicit(Decimal to BigInteger) il metodo per definire i tipi a cui o da cui un BigInteger oggetto può essere convertito. I compilatori di linguaggio non eseguono automaticamente questa conversione perché può comportare la perdita di dati. Ma eseguono la conversione solo se un operatore di cast (in c#) o una funzione di conversione (ad esempio CType o CULng in Visual Basic) viene utilizzato. In caso contrario, visualizzano un errore del compilatore.

Poiché questa operazione definisce una conversione di narrowing, può generare un OverflowException in fase di esecuzione se il BigInteger valore è compreso nell'intervallo del UInt64 tipo di dati. Senza perdita di precisione nel risultante UInt64 valore se la conversione ha esito positivo.

Nell'esempio seguente viene illustrata la conversione di BigInteger valori UInt64 valori. Gestisce inoltre un OverflowException che viene generata perché il BigInteger valore è compreso nell'intervallo del UInt64 tipo di dati.

// BigInteger to UInt64 conversion.
BigInteger goodULong = 2000000000;
BigInteger badULong = BigInteger.Pow(goodULong, 3);

ulong uLongFromBigInteger;

// Successful conversion using cast operator. 
uLongFromBigInteger = (ulong) goodULong;
Console.WriteLine(uLongFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   uLongFromBigInteger = (ulong) badULong;
   Console.WriteLine(uLongFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}", 
                     badULong, e.Message);
}
Console.WriteLine();

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: