uint (C#-Referenz)

Aktualisiert: November 2007

Das uint-Schlüsselwort kennzeichnet einen ganzzahligen Typ, in dem Werte entsprechend der Größe und dem Bereich in der folgenden Tabelle gespeichert werden.

Typ

Bereich

Größe

.NET Framework-Typ

uint

0 bis 4.294.967.295

Vorzeichenlose 32-Bit-Ganzzahl

System.UInt32

Hinweis   Der uint-Typ ist nicht CLS-fähig. Verwenden Sie wenn möglich int.

Literale

Eine Variable vom Typ uint kann wie im folgenden Beispiel deklariert und initialisiert werden:

uint myUint = 4294967290;

Wenn ein Ganzzahlliteral kein Suffix besitzt, entspricht sein Typ dem ersten der folgenden Typen, mit dem sein Wert dargestellt werden kann: int, uint, long, ulong. In diesem Beispiel ist dies uint:

uint uInt1 = 123;

Sie können auch das Suffix u oder U verwenden. Beispiel:

uint uInt2 = 123U;

Bei Verwendung des Suffixes U oder u wird der Typ des Ganzzahlliterals je nach numerischem Wert des Literals entweder als uint oder ulong festgelegt. Beispiel:

Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());

Mit diesem Code wird System.UInt32 und dahinter System.UInt64 angezeigt – die zugrunde liegenden Typen für uint und ulong –, da das zweite Literal zu groß ist, um mit dem uint-Typ gespeichert zu werden.

Konvertierungen

Es findet eine vordefinierte implizite Konvertierung von uint in long, ulong, float, double oder decimal statt. Beispiel:

float myFloat = 4294967290;   // OK: implicit conversion to float

Es findet eine vordefinierte implizite Konvertierung von byte, ushort oder char in uint statt. Andernfalls ist eine Typumwandlung erforderlich. Ohne Umwandlung verursacht die folgende Anweisung beispielsweise einen Kompilierungsfehler:

long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong; 
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;

Beachten Sie auch, dass Gleitkommatypen nicht implizit in uint konvertiert werden. Durch die folgende Anweisung wird z. B. ein Compilerfehler erzeugt, sofern keine explizite Typumwandlung stattfindet:

// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0; 

Weitere Informationen zu arithmetischen Ausdrücken mit Gleitkomma- und ganzzahligen Typen finden Sie unter float und double.

Weitere Informationen zu impliziten numerischen Konvertierungsregeln finden Sie unter Tabelle für implizite numerische Konvertierungen (C#-Referenz).

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 1.3 Typen und Variablen

  • 4.1.5 Ganzzahlige Typen

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Tabelle ganzzahliger Typen (C#-Referenz)

Tabelle integrierter Typen (C#-Referenz)

Tabelle für implizite numerische Konvertierungen (C#-Referenz)

Tabelle für explizite numerische Konvertierungen (C#-Referenz)

UInt32

Weitere Ressourcen

C#-Referenz