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

Struttura Int64

 

Data di pubblicazione: ottobre 2016

Rappresenta un intero con segno a 64 bit.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int64 : IComparable, IFormattable, IConvertible, 
	IComparable<long>, IEquatable<long>

NomeDescrizione
System_CAPS_pubmethodCompareTo(Int64)

Confronta questa istanza con un intero con segno a 64 bit specificato e restituisce un'indicazione dei loro relativi valori.

System_CAPS_pubmethodCompareTo(Object)

Confronta questa istanza con un oggetto specificato e restituisce un'indicazione dei loro relativi valori.

System_CAPS_pubmethodEquals(Int64)

Restituisce un valore che indica se l'istanza è uguale a un valore Int64 specificato.

System_CAPS_pubmethodEquals(Object)

Restituisce un valore che indica se questa istanza è uguale ad un oggetto specificato. (Esegue l'override di ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per questa istanza. (Esegue l'override di ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodGetTypeCode()

Restituisce l'oggetto TypeCode del tipo di valore Int64.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Converte la rappresentazione in forma di stringa di un numero nel suo equivalente valore intero con segno a 64 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Converte la rappresentazione in forma di stringa di un numero in un formato specifico delle impostazioni di cultura nel suo equivalente intero con segno a 64 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

Converte la rappresentazione in forma di stringa di un numero in uno stile specificato nel suo equivalente intero con segno a 64 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

Converte la rappresentazione in forma di stringa di un numero in uno stile specificato e in un formato specifico delle impostazioni di cultura nel suo equivalente valore intero con segno a 64 bit.

System_CAPS_pubmethodToString()

Converte il valore numerico di questa istanza nella sua equivalente rappresentazione in forma di stringa. (Esegue l'override di ValueType.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Converte il valore numerico di questa istanza nella sua equivalente rappresentazione in forma di stringa utilizzando le informazioni di formato specifiche delle impostazioni di cultura.

System_CAPS_pubmethodToString(String)

Converte il valore numerico di questa istanza nella sua equivalente rappresentazione in forma di stringa usando il formato specificato.

System_CAPS_pubmethodToString(String, IFormatProvider)

Converte il valore numerico di questa istanza nella sua equivalente rappresentazione in forma di stringa utilizzando il formato specificato e le informazioni di formattazione specifiche delle impostazioni di cultura.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Int64)

Converte la rappresentazione in forma di stringa di un numero nel suo equivalente valore intero con segno a 64 bit. Un valore restituito indica se la conversione è riuscita o meno.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Int64)

Converte la rappresentazione in forma di stringa di un numero in uno stile specificato e in un formato specifico delle impostazioni di cultura nel suo equivalente valore intero con segno a 64 bit. Un valore restituito indica se la conversione è riuscita o meno.

NomeDescrizione
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Rappresenta il valore massimo possibile di un oggetto Int64. Questo campo è costante.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Rappresenta il valore minimo possibile di Int64. Questo campo è costante.

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToBoolean.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToChar.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Questa conversione non è supportata. Il tentativo di usare questo metodo genera un'eccezione InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToDecimal.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToDouble.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToSingle.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToUInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere IConvertible.ToUInt64.

System_CAPS_noteNota

Per visualizzare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source. È possibile esplorare il codice sorgente online, scaricare i riferimenti per la visualizzazione offline e scorrere le origini (inclusi aggiornamenti e patch) durante l'esecuzione del debug. see instructions.

Int64 è un tipo di valore non modificabile che rappresenta interi con segno con valori compresi 9.223.372.036.854.775.808 negativo (rappresentata dal Int64.MinValue costante) e 9.223.372.036.854.775.807 positivo (rappresentata dal Int64.MaxValue costante. .NET Framework include anche un tipo di valore intero senza segno a 64 bit, UInt64, che rappresenta i valori che vanno da 0 a 18.446.744.073.709.551.615.

È possibile creare un'istanza di un Int64 valore nei seguenti modi:

  • È possibile dichiarare un Int64 variabile e assegnarle un valore letterale intero che è compreso tra il Int64 tipo di dati. Nell'esempio seguente vengono dichiarati due Int64 le variabili vengono assegnati valori in questo modo.

    long number1 = -64301728;
    long number2 = 255486129307;
    
  • È possibile assegnare il valore di un tipo integrale, il cui intervallo è un subset del Int64 tipo. Si tratta di una conversione che non richiede un operatore di cast in c# o un metodo di conversione in Visual Basic.

    sbyte value1 = 124;
    short value2 = 1618;
    int value3 = Int32.MaxValue;
    
    long number1 = value1;
    long number2 = value2;
    long number3 = value3;
    
  • È possibile assegnare il valore di un tipo numerico, il cui intervallo è superiore a quello del Int64 tipo. Si tratta di una conversione di narrowing, pertanto richiede un operatore di cast in c# e un metodo di conversione in Visual Basic se OptionStrict si trova in. Se il valore numerico è un Single, Double, o Decimal che include un componente frazionario, la gestione della parte frazionaria dipende dal compilatore che esegue la conversione. Nell'esempio seguente esegue le conversioni per assegnare diversi valori numerici per Int64 variabili.

    ulong ulNumber = 163245617943825;
    try {
       long number1 = (long) ulNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", ulNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       long number2 = (long) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", dbl2);
    }
    
    BigInteger bigNumber = (BigInteger) 1.63201978555e30;
    try {
       long number3 = (long) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", bigNumber);
    }    
    // The example displays the following output:
    //    163245617943825
    //    35902
    //    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
  • È possibile chiamare un metodo per la Convert classe per convertire qualsiasi tipo supportato in un Int64 valore. Ciò è possibile perché Int64 supporta il IConvertible interfaccia. Nell'esempio seguente viene illustrata la conversione di una matrice di Decimal valori Int64 valori.

    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    long result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt64(value);
          Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                            value.GetType().Name, value,
                            result.GetType().Name, result);
       }
       catch (OverflowException) {
          Console.WriteLine("{0} is outside the range of the Int64 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int64 type.
    //    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    //    Converted the Decimal value '-12' to the Int64 value -12.
    //    Converted the Decimal value '0' to the Int64 value 0.
    //    Converted the Decimal value '147' to the Int64 value 147.
    //    Converted the Decimal value '199.55' to the Int64 value 200.
    //    Converted the Decimal value '9214.16' to the Int64 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int64 type.
    
  • È possibile chiamare il Parse o TryParse per convertire la rappresentazione di stringa di un Int64 valore a un Int64. La stringa può contenere cifre decimale o esadecimale. Nell'esempio seguente viene illustrata l'operazione di analisi utilizzando un numero decimale e una stringa esadecimale.

    string string1 = "244681903147";
    try {
       long number1 = Int64.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3CFF0A";
    try {
       long number2 = Int64.Parse(string2,
                                  System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //    244681903147
    //    67012198154
    

Il Int64 tipo supporta operazioni matematiche standard quali addizione, sottrazione, divisione, moltiplicazione, negazione e negazione unaria. Come gli altri tipi integrali, il Int64 tipo supporta anche il bit per bit AND, OR, XOR, left shift e right shift (operatori).

È possibile utilizzare gli operatori numerici standard per confrontare due Int64 valori oppure è possibile chiamare il CompareTo o Equals (metodo).

È inoltre possibile chiamare i membri della Math classe per eseguire un'ampia gamma di operazioni numeriche, tra cui il recupero del valore assoluto di un numero, calcolare il quoziente e il resto della divisione integrale, determinare il valore massimo o minimo di due valori long integer, ottenere il segno di un numero e arrotondamento di un numero.

Il Int64 tipo fornisce supporto completo per le stringhe di formato numerico standard e personalizzate. (Per ulteriori informazioni, vedere Formattazione di tipi in .NET Framework, Stringhe di formato numerico standard, e Stringhe di formato numerico personalizzato.)

Per formattare un Int64 valore come stringa di integrali senza zeri iniziali, è possibile chiamare senza parametri ToString() metodo. Utilizzando l'identificatore di formato "D", è inoltre possibile includere un numero specificato di zeri iniziali nella rappresentazione di stringa. Utilizzando l'identificatore di formato "N", è possibile includere i separatori di gruppi e specificare il numero di cifre decimali da visualizzare nella rappresentazione di stringa del numero. Utilizzando l'identificatore di formato "X", è possibile rappresentare un Int64 valore sotto forma di stringa esadecimale. Nell'esempio seguente formatta gli elementi in una matrice di Int64 valori in queste quattro modi diversi.

long[] numbers = { -1403, 0, 169, 1483104 };
foreach (var number in numbers) {
   // Display value using default formatting.
   Console.Write("{0,-8}  -->   ", number.ToString());
   // Display value with 3 digits and leading zeros.
   Console.Write("{0,8:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,18:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,18:X8}", number);
}   
// The example displays the following output:
//    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
//    0         -->        000          0.0                00          00000000
//    169       -->        169        169.0                A9          000000A9
//    1483104   -->    1483104  1,483,104.0            16A160          0016A160

È anche possibile formattare un Int64 valore come binaria, ottale, esadecimale o decimale stringa chiamando il ToString(Int64, Int32) (metodo) e fornendo la base come secondo parametro del metodo. Nell'esempio seguente viene chiamato questo metodo per visualizzare il file binario, ottale e rappresentazioni esadecimali di una matrice di valori integer.

long[] numbers = { -146, 11043, 2781913 };
foreach (var number in numbers) {
   Console.WriteLine("{0} (Base 10):", number);
   Console.WriteLine("   Binary:  {0}", Convert.ToString(number, 2));
   Console.WriteLine("   Octal:   {0}", Convert.ToString(number, 8));
   Console.WriteLine("   Hex:     {0}\n", Convert.ToString(number, 16));
}
// The example displays the following output:
//    -146 (Base 10):
//       Binary:  1111111111111111111111111111111111111111111111111111111101101110
//       Octal:   1777777777777777777556
//       Hex:     ffffffffffffff6e
//
//    11043 (Base 10):
//       Binary:  10101100100011
//       Octal:   25443
//       Hex:     2b23
//
//    2781913 (Base 10):
//       Binary:  1010100111001011011001
//       Octal:   12471331
//       Hex:     2a72d9

Oltre a lavorare con singoli valori long integer come valori decimali, si desidera eseguire operazioni bit per bit con valori long integer o di lavoro con le rappresentazioni binarie o esadecimali di valori long integer. Int64 i valori sono rappresentati in 63 bit, con il bit quarto 60 utilizzato come il bit di segno. I valori positivi vengono rappresentati con segno e grandezza. Valori negativi sono la rappresentazione in complemento a due. Questo aspetto è importante tenere presenti quando si eseguono operazioni bit per bit su Int64 valori o quando si lavora con singoli bit. Per eseguire un valore numerico, Boolean o operazione di confronto sui due valori non decimali, entrambi i valori devono utilizzare la stessa rappresentazione.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

Tutti i membri di questo tipo sono thread-safe. I membri che apparentemente modificano lo stato dell'istanza, in realtà restituiscono una nuova istanza inizializzata con il nuovo valore. Come con qualsiasi altro tipo, la lettura e scrittura a una variabile condivisa che contiene un'istanza di questo tipo deve essere protetto da un blocco per garantire la thread safety.

System_CAPS_cautionAttenzione

Assegnare un'istanza di questo tipo non è thread-safe su tutte le piattaforme hardware perché la rappresentazione binaria di tale istanza potrebbe essere troppo grande per assegnare in una singola operazione atomica.

Torna all'inizio
Mostra: