Int32, structure (System)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
Int32, structure
Cet article a fait l'objet d'une traduction manuelle. Pour afficher simultanément cette page et le contenu source en anglais, choisissez le paramètre d'affichage Basse densité.

Représente un entier signé 32 bits.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
Syntaxe

Visual Basic
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Int32 _
	Implements IComparable, IFormattable, IConvertible, IComparable(Of Integer),  _
	IEquatable(Of Integer)
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int32 : IComparable, IFormattable, 
	IConvertible, IComparable<int>, IEquatable<int>
VisualC++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public value class Int32 : IComparable, 
	IFormattable, IConvertible, IComparable<int>, IEquatable<int>
F#
[<Sealed>]
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type Int32 =  
    struct
        interface IComparable
        interface IFormattable
        interface IConvertible
        interface IComparable<int>
        interface IEquatable<int>
    end

Le type Int32 expose les membres suivants.

Méthodes

  Nom Description
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif CompareTo(Int32) Compare cette instance à un entier signé 32 bits et retourne une indication de leurs valeurs relatives.
Méthode publique Pris en charge par XNA Framework CompareTo(Object) Compare cette instance à un objet spécifié et retourne une indication de leurs valeurs relatives.
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif Equals(Int32) Retourne une valeur indiquant si cette instance équivaut à une valeur Int32 spécifiée.
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif Equals(Object) Retourne une valeur indiquant si cette instance est égale à un objet spécifié. (Substitue ValueType.Equals(Object).)
Méthode protégée Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif GetHashCode Retourne le code de hachage pour cette instance. (Substitue ValueType.GetHashCode().)
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework GetTypeCode Retourne le TypeCode du type valeur Int32.
Méthode protégée Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Membre statique Pris en charge par XNA Framework Parse(String) Convertit la représentation sous forme de chaîne d'un nombre en entier signé 32 bits équivalent.
Méthode publique Membre statique Pris en charge par XNA Framework Parse(String, NumberStyles) Convertit la représentation sous forme de chaîne d'un nombre dans un style spécifié en entier signé 32 bits équivalent.
Méthode publique Membre statique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif Parse(String, IFormatProvider) Convertit la représentation sous forme de chaîne d'un nombre dans un format propre à une culture spécifié en entier signé 32 bits équivalent.
Méthode publique Membre statique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif Parse(String, NumberStyles, IFormatProvider) Convertit la représentation sous forme de chaîne d'un nombre dans un style et un format propre à une culture spécifiés en entier signé 32 bits équivalent.
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif ToString() Convertit la valeur numérique de cette instance en sa représentation équivalente sous forme de chaîne. (Substitue ValueType.ToString().)
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif ToString(IFormatProvider) Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente à l'aide des informations de format spécifiques à la culture donnée.
Méthode publique Pris en charge par XNA Framework ToString(String) Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente en utilisant le format spécifié.
Méthode publique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif ToString(String, IFormatProvider) Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente à l'aide de la mise en forme spécifiée et des informations de mise en forme spécifiques à la culture.
Méthode publique Membre statique TryParse(String, Int32) Convertit la représentation sous forme de chaîne d'un nombre en entier signé 32 bits équivalent. Une valeur de retour indique si la conversion a réussi.
Méthode publique Membre statique td2s409d.PortableClassLibrary(fr-fr,VS.100).gif TryParse(String, NumberStyles, IFormatProvider, Int32) Convertit la chaîne d'un nombre dans un style et un format propre à une culture spécifiés en entier signé 32 bits équivalent. Une valeur de retour indique si la conversion a réussi.
Début
Champs

  Nom Description
Champ public Membre statique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif MaxValue Représente la plus grande valeur possible de Int32. Ce champ est constant.
Champ public Membre statique Pris en charge par XNA Framework td2s409d.PortableClassLibrary(fr-fr,VS.100).gif MinValue Représente la plus petite valeur possible de Int32. Ce champ est constant.
Début
Implémentations d'interface explicite

  Nom Description
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToBoolean Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToBoolean.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToByte Infrastructure. Pour une description de ce membre, consultez IConvertible.ToByte.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToChar Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToChar.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToDateTime Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToDecimal Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToDecimal.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToDouble Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToDouble.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToInt16 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt16.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToInt32 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt32.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToInt64 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt64.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToSByte Infrastructure. Pour une description de ce membre, consultez IConvertible.ToSByte.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToSingle Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToSingle.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToType Infrastructure. Pour une description de ce membre, consultez IConvertible.ToType.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToUInt16 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToUInt16.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToUInt32 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToUInt32.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IConvertible.ToUInt64 Infrastructure. Pour une description de ce membre, consultez IConvertible.ToUInt64.
Début
Notes

Int32 est un type immuable qui représente un entier signé avec des valeurs comprises entre - 2 147 483 648 (qui est représenté par la constante Int32.MinValue) et + 2 147 483 647 (qui est représenté par la constante Int32.MaxValue). Le .NET Framework inclut également un type de valeur d'entier 32 bits non signé, UInt32, qui représente des valeurs comprises entre 0 et 4 294 967 295.

Instanciation d'une valeur Int32

Vous pouvez instancier une valeur Int32 de plusieurs façons :

  • Vous pouvez déclarer une variable Int32 et l'assigner à une valeur d'entier littérale comprise dans la plage du type de données Int32. L'exemple suivant déclare deux variables Int32 et leur assigne des valeurs de cette manière.

    Visual Basic
    
    Dim number1 As Integer = 64301
    Dim number2 As Integer = 25548612
    
    
    
    C#
    
    int number1 = 64301;
    int number2 = 25548612;
    
    
    
  • Vous pouvez assigner la valeur d'un type entier dont la plage est un sous-ensemble du type Int32. Il s'agit d'une conversion étendue qui ne requiert aucun opérateur de cast en C# ni méthode de conversion en Visual Basic.

    Visual Basic
    
    Dim value1 As SByte = 124
    Dim value2 As Int16 = 1618
    
    Dim number1 As Integer = value1
    Dim number2 As Integer = value2
    
    
    
    C#
    
    sbyte value1 = 124;
    short value2 = 1618;
    
    int number1 = value1;
    int number2 = value2;
    
    
    
  • Vous pouvez assigner la valeur d'un type numérique dont la plage dépasse celle du type Int32. Il s'agit d'une conversion restrictive ; cela requiert donc un opérateur de cast en C# et une méthode de conversion en Visual Basic si OptionStrict est activé. Si la valeur numérique est une valeur Single, Double ou Decimal qui inclut un composant fractionnaire, la gestion de sa partie fractionnaire dépend du compilateur qui effectue la conversion. L'exemple suivant effectue des conversions restrictives pour assigner plusieurs valeurs numériques aux variables Int32.

    Visual Basic
    
    Dim lNumber As Long = 163245617
    Try
       Dim number1 As Integer = CInt(lNumber)
       Console.WriteLine(number1)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of an Int32.", lNumber)
    End Try
    
    Dim dbl2 As Double = 35901.997
    Try
       Dim number2 As Integer = CInt(dbl2)
       Console.WriteLine(number2)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of an Int32.", dbl2)
    End Try
    
    Dim bigNumber As BigInteger = 132451
    Try
       Dim number3 As Integer = CInt(bigNumber)
       Console.WriteLine(number3)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of an Int32.", bigNumber)
    End Try    
    ' The example displays the following output:
    '       163245617
    '       35902
    '       132451
    
    
    
    C#
    
    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
    
    
    
  • Vous pouvez appeler une méthode de la classe Convert pour convertir n'importe quel type pris en charge en valeur Int32. C'est possible parce que Int32 prend en charge l'interface IConvertible. L'exemple suivant illustre la conversion d'un tableau de valeurs Decimal en valeurs Int32.

    Visual Basic
    
    Dim values() As Decimal = { Decimal.MinValue, -1034.23d, -12d, 0d, 147d, _
                                199.55d, 9214.16d, Decimal.MaxValue }
    Dim result As Integer
    
    For Each value As Decimal 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 e As OverflowException
          Console.WriteLine("{0} is outside the range of the Int32 type.", _
                            value)
       End Try   
    Next                                  
    ' 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.
    
    
    
    C#
    
    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.
    
    
    
  • Vous pouvez appeler les méthodes Parse ou TryParse pour convertir la représentation sous forme de chaîne d'une valeur Int32 en un Int32. La chaîne peut contenir des chiffres décimaux ou hexadécimaux. L'exemple suivant illustre l'opération d'analyse à l'aide d'une chaîne décimale et d'une chaîne hexadécimale.

    Visual Basic
    
    Dim string1 As String = "244681"
    Try
       Dim number1 As Integer = Int32.Parse(string1)
       Console.WriteLine(number1)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1)
    Catch e As FormatException
       Console.WriteLine("The format of '{0}' is invalid.", string1)
    End Try
    
    Dim string2 As String = "F9A3C"
    Try
       Dim number2 As Integer = Int32.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber)
       Console.WriteLine(number2)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2)
    Catch e As FormatException
       Console.WriteLine("The format of '{0}' is invalid.", string2)
    End Try
    ' The example displays the following output:
    '       244681
    '       1022524
    
    
    
    C#
    
    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
    
    
    

Exécution d'opérations sur les valeurs Int32

Le type Int32 prend en charge les opérations mathématiques standard, telles que l'addition, la soustraction, la division, la multiplication, la soustraction, la négation et la négation unaire. Comme les autres types intégraux, le type Int32 prend en charge également les opérateurs de bit, de décalage vers la droite et de décalage vers la gauche AND, OR et XOR.

Vous pouvez utiliser les opérateurs numériques standard pour comparer deux valeurs Int32, ou vous pouvez appeler la méthode CompareTo ou Equals.

Représentant un Int32 en tant que chaîne.

Le type Int32 prend complètement en charge les chaînes de format numériques standard et personnalisées. (Pour plus d'informations, consultez Mise en forme des types, Chaînes de format numériques standard et Chaînes de format numériques personnalisées.)

Pour mettre une valeur Int32 sous forme de chaîne d'entier sans zéros non significatifs, vous pouvez appeler la méthode sans paramètre ToString(). En utilisant le spécificateur de format « D », vous pouvez également inclure un nombre spécifié de zéros non significatifs dans la représentation sous forme de chaîne. En utilisant le spécificateur de format « N », vous pouvez inclure des séparateurs de groupes et spécifier le nombre de chiffres décimaux à afficher dans la représentation sous forme de chaîne du nombre. En utilisant le spécificateur de format « X », vous pouvez représenter une valeur Int32 sous forme de chaîne hexadécimale. L'exemple suivant met en forme les éléments dans un tableau de valeurs Int32 selon ces quatre manières.

Visual Basic

Dim numbers() As Integer = { -1403, 0, 169, 1483104 }
For Each number As Integer 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)
Next   
' 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


C#

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


Vous pouvez également mettre une valeur Int32 sous forme de chaîne binaire, octale, décimale ou hexadécimale en appelant la méthode ToString(Int32, Int32) et en fournissant la base en tant que second paramètre de la méthode. L'exemple suivant appelle cette méthode pour afficher les représentations binaires, octales et hexadécimales d'un tableau de valeurs entières.

Visual Basic

Dim numbers() As Integer = { -146, 11043, 2781913 }
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", _
                  "Value", "Binary", "Octal", "Hex")
For Each number As Integer 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))
Next      
' The example displays the following output:
'       Value                             Binary         Octal          Hex
'        -146   11111111111111111111111101101110   37777777556     ffffff6e
'       11043                     10101100100011         25443         2b23
'     2781913             1010100111001011011001      12471331       2a72d9


C#

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


Utilisation de valeurs entières 32 bits non décimales

En plus d'utiliser des entiers individuels comme valeurs décimales, vous pouvez effectuer des opérations au niveau du bit avec des valeurs d'entiers ou utiliser des tableaux d'entiers ou les représentations binaires ou hexadécimales des valeurs d'entiers. Les valeurs Int32 sont représentées en 31 bits, avec le trente-deuxième bit utilisé comme bit de signe. Les valeurs positives sont représentées à l'aide de la représentation « signe et magnitude ». Les valeurs négatives utilisent la représentation du complément à deux. Il est important de le retenir lorsque vous effectuez des opérations au niveau du bit sur des valeurs Int32 ou lorsque vous travaillez avec des bits individuels. Pour effectuer une opération numérique, booléenne ou de comparaison sur deux valeurs non décimales, les deux valeurs doivent utiliser la même représentation.

Informations de version

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :
Plateformes

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Sécurité des threads

Tous les membres de ce type sont thread-safe. Les membres qui semblent modifier l'instance d'état retournent, en réalité, une nouvelle instance initialisée avec la nouvelle valeur. Comme avec tout autre type, la lecture et l'écriture sur une variable partagée qui contient une instance de ce type doivent être protégées par un verrou pour garantir la sécurité des threads.

Voir aussi

Référence