uint (Référence C#)

Le mot clé uint désigne un type intégral ; il est utilisé pour stocker des valeurs comme indiqué dans le tableau suivant.

Type Portée Taille Type .NET Framework

uint

0 à 4 294 967 295

Entier 32 bits non signé

System.UInt32

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, consultez les sections suivantes dans Spécifications du langage C#.

  • 1.3 Types et variables

  • 4.1.5 Types intégraux

Voir aussi

Référence

Mots clés C#
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#)
UInt32 Structure

Concepts

Guide de programmation C#

Autres ressources

Référence C#