uint (C#-Referenz)
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 |
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.Beispiele:
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.Beispiele:
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 der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
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)