uint (référence C#)
Le mot clé uint désigne un type intégral qui stocke des valeurs comme indiqué dans le tableau ci-dessous.
Type |
Plage |
Taille |
Type .NET Framework |
---|---|---|---|
uint |
0 à 4 294 967 295 |
Entier 32 bits non signé |
Remarque Le type uint n'est pas conforme CLS. Utilisez int chaque fois que cela est possible.
Littéraux
Vous pouvez déclarer et initialiser une variable uint en suivant l'exemple ci-après :
uint myUint = 4294967290;
Lorsqu'un littéral entier n'a aucun suffixe, son type est le premier des types dans lesquels sa valeur peut être représentée : int, uint, long, ulong. Dans cet exemple, le littéral entier est de type uint.
uint uInt1 = 123;
Vous pouvez aussi utiliser le suffixe u ou U, comme suit :
uint uInt2 = 123U;
Lorsque vous utilisez le suffixe U ou u, le type du littéral est déterminé pour être uint ou ulong d'après la valeur numérique du littéral. Par exemple :
Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());
Ce code affiche System.UInt32, suivi de System.UInt64 (les types sous-jacents pour uint et ulong respectivement) parce que le deuxième littéral est trop grand pour être stocké par le type uint.
Conversions
Il y a une conversion implicite prédéfinie de uint en long, ulong, float, double ou decimal. Par exemple :
float myFloat = 4294967290; // OK: implicit conversion to float
Une conversion implicite prédéfinie est effectuée entre le type byte, ushort ou char en uint. Sinon, vous devez utiliser une conversion explicite. Par exemple, l'instruction d'assignation suivante produit une erreur de compilation sans cast :
long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong;
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;
En outre, il n'y a pas de conversion implicite des types virgule flottante en type uint. Par exemple, l'instruction suivante génère une erreur de compilation si aucune conversion explicite n'est spécifiée :
// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0;
Pour plus d'informations sur les expressions arithmétiques dans lesquelles coexistent des types virgule flottante et des types intégraux, consultez float et double.
Pour plus d'informations sur les règles de conversion numérique implicite, consultez Tableau des conversions numériques implicites (référence C#).
Spécification du langage C#
Pour plus d'informations, voir la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.
Voir aussi
Référence
Tableau des types intégraux (référence C#)
Tableau des types intégrés (référence C#)
Tableau des conversions numériques implicites (référence C#)
Tableau des conversions numériques explicites (référence C#)