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 Int32

 

Data di pubblicazione: ottobre 2016

Rappresenta un intero con segno a 32 bit.

Per esaminare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source.

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

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

NomeDescrizione
System_CAPS_pubmethodCompareTo(Int32)

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

System_CAPS_pubmethodCompareTo(Object)

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

System_CAPS_pubmethodEquals(Int32)

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

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per l'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 Int32.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Converte la rappresentazione di stringa di un numero nell'equivalente intero con segno a 32 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Converte la rappresentazione di stringa di un numero in un formato specifico delle impostazioni cultura nell'equivalente intero con segno a 32 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

Converte la rappresentazione di stringa di un numero in uno stile specificato nell'equivalente intero con segno a 32 bit.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

Converte la rappresentazione di stringa di un numero in uno stile specificato e in un formato specifico delle impostazioni cultura nell'equivalente intero con segno a 32 bit.

System_CAPS_pubmethodToString()

Converte il valore numerico dell'istanza nella rappresentazione di stringa equivalente.(Esegue l'override di ValueType.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Converte il valore numerico di questa istanza nella rappresentazione di stringa equivalente usando le informazioni di formato specifiche delle impostazioni cultura.

System_CAPS_pubmethodToString(String)

Converte il valore numerico di questa istanza nell'equivalente rappresentazione di stringa usando il formato specificato.

System_CAPS_pubmethodToString(String, IFormatProvider)

Converte il valore numerico dell'istanza nella rappresentazione di stringa equivalente usando il formato specificato e le informazioni di formattazione specifiche delle impostazioni cultura.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Int32)

Converte la rappresentazione di stringa di un numero nell'equivalente intero con segno a 32 bit. Un valore restituito indica se la conversione è riuscita.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Int32)

Converte la rappresentazione di stringa di un numero in uno stile specificato e in un formato specifico delle impostazioni cultura nell'equivalente intero con segno a 32 bit. Un valore restituito indica se la conversione è riuscita.

NomeDescrizione
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

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

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Rappresenta il valore più piccolo possibile di Int32. 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.

Int32 è un tipo di valore non modificabile che rappresenta interi con segno con valori compresi tra 2.147.483.648 (negativo) (rappresentata dal Int32.MinValue costante) e + 2.147.483.647 (rappresentata dal Int32.MaxValue costante. .NET Framework include anche un tipo di valore intero senza segno a 32 bit, UInt32, che rappresenta i valori compresi tra 0 e 4.294.967.295.

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

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

    int number1 = 64301;
    int number2 = 25548612;
    
  • È possibile assegnare il valore di un tipo integer il cui intervallo è un subset del Int32 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 number1 = value1;
    int number2 = value2;
    
  • È possibile assegnare il valore di un tipo numerico, il cui intervallo è superiore a quello del Int32 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 Int32 variabili.

    long lNumber = 163245617;
    try {
       int number1 = (int) lNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", lNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       int number2 = (int) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", dbl2);
    }
    
    BigInteger bigNumber = 132451;
    try {
       int number3 = (int) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", bigNumber);
    }    
    // The example displays the following output:
    //       163245617
    //       35902
    //       132451
    
  • È possibile chiamare un metodo per la Convert classe per convertire qualsiasi tipo supportato in un Int32 valore. Ciò è possibile perché Int32 supporta il IConvertible interfaccia. Nell'esempio seguente viene illustrata la conversione di una matrice di Decimal valori Int32 valori.

    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    int result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt32(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 Int32 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int32 type.
    //    Converted the Decimal value '-1034.23' to the Int32 value -1034.
    //    Converted the Decimal value '-12' to the Int32 value -12.
    //    Converted the Decimal value '0' to the Int32 value 0.
    //    Converted the Decimal value '147' to the Int32 value 147.
    //    Converted the Decimal value '199.55' to the Int32 value 200.
    //    Converted the Decimal value '9214.16' to the Int32 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int32 type.
    
  • È possibile chiamare il Parse o TryParse per convertire la rappresentazione di stringa di un Int32 valore a un Int32. 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 = "244681";
    try {
       int number1 = Int32.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3C";
    try {
       int number2 = Int32.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //       244681
    //       1022524
    

Il Int32 tipo supporta operazioni matematiche standard quali addizione, sottrazione, divisione, moltiplicazione, negazione e negazione unaria. Come gli altri tipi integrali, il Int32 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 Int32 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 interi, ottenere il segno di un numero e arrotondamento di un numero.

Il Int32 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 Int32 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 Int32 valore sotto forma di stringa esadecimale. Nell'esempio seguente formatta gli elementi in una matrice di Int32 valori in queste quattro modi diversi.

int[] numbers = { -1403, 0, 169, 1483104 };
foreach (int 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,11:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,12:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,14:X8}", number);
}   
// The example displays the following output:
//    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
//    0         -->           000          0.0          00      00000000
//    169       -->           169        169.0          A9      000000A9
//    1483104   -->       1483104  1,483,104.0      16A160      0016A160

È anche possibile formattare un Int32 valore come binaria, ottale, esadecimale o decimale stringa chiamando il ToString(Int32, 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.

int[] numbers = { -146, 11043, 2781913 };
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                  "Value", "Binary", "Octal", "Hex");
foreach (int number in numbers) {
   Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                     number, Convert.ToString(number, 2), 
                     Convert.ToString(number, 8), 
                     Convert.ToString(number, 16));
}      
// The example displays the following output:
//       Value                             Binary         Octal          Hex
//        -146   11111111111111111111111101101110   37777777556     ffffff6e
//       11043                     10101100100011         25443         2b23
//     2781913             1010100111001011011001      12471331       2a72d9

Oltre a lavorare con interi singoli come valori decimali, si desidera eseguire operazioni bit per bit con valori integer o di lavoro con le rappresentazioni binarie o esadecimali di valori integer. Int32 i valori sono rappresentati in 31 bit, con il bit di trenta secondi 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 Int32 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.

Torna all'inizio
Mostra: