int (C#-Referenz)

int kennzeichnet einen ganzzahligen Typ, der Werte anhand der Größe und des Bereichs speichert, die in der folgenden Tabelle gezeigt werden.

Typ Bereich Größe .NET Framework-Typ Standardwert
int -2,147,483,648 bis 2,147,483,647 Eine 32-Bit-Ganzzahl mit Vorzeichen <xref:System.Int32?displayProperty=fullName> 0

Literale

Sie können eine int-Variable deklarieren und initialisieren, indem Sie ihr ein dezimales Literal, ein hexadezimales Literal oder (beginnend mit C# 7) ein binäres Literal zuweisen. Wenn sich das Ganzzahlliteral außerhalb des Bereichs von int befindet (sprich, wenn es kleiner als <xref:System.Int32.MinValue?displayProperty=fullName> oder größer als <xref:System.Int32.MaxValue?displayProperty=fullName> ist) tritt ein Kompilierfehler auf.

Im folgenden Beispiel werden Ganzzahlen wie 90.946, die als dezimale, hexadezimale und binäre Literale dargestellt werden, den int-Werten zugewiesen.

int intValue1 = 90946;
Console.WriteLine(intValue1);
int intValue2 = 0x16342;
Console.WriteLine(intValue2);

int intValue3 = 0b0001_0110_0011_0100_0010;
Console.WriteLine(intValue3);
// The example displays the following output:
//          90946
//          90946
//          90946
Hinweis

Verwenden Sie das Präfix 0x oder 0X zum Kennzeichnen eines hexadezimalen Literals und das Präfix 0b oder 0B zum Kennzeichnen eines binären Literals. Dezimale Literale haben kein Präfix.

Ab C# 7 können Sie auch den Unterstrich, _, als Zifferntrennzeichen zum Verbessern der Lesbarkeit verwenden, wie im folgenden Beispiel veranschaulicht.

int intValue1 = 90_946;
Console.WriteLine(intValue1);

int intValue2 = 0x0001_6342;
Console.WriteLine(intValue2);

int intValue3 = 0b0001_0110_0011_0100_0010;
Console.WriteLine(intValue3);
// The example displays the following output:
//          90946
//          90946
//          90946

Ganzzahlliterale können auch ein Suffix enthalten, dass den Typen kennzeichnet, auch wenn es kein Suffix gibt, dass den int-Typ kennzeichnet. Wenn ein Ganzzahlliteral kein Suffix besitzt, ist sein Typ der erste dieser Typen, in dem sein Wert dargestellt werden kann:

  1. int
  2. uint
  3. long
  4. ulong

In diesen Beispielen ist das Literal 90946 vom Typ int.

Konvertierungen

Es gibt eine vordefinierte implizite Konvertierung von int in long, float, double oder decimal. Zum Beispiel:

// '123' is an int, so an implicit conversion takes place here:  
float f = 123;  

Es gibt eine vordefinierte implizite Konvertierung von sbyte, byte, short, ushort oder char in int. Die folgende Anweisung erzeugt z. B. einen Kompilierungsfehler ohne Umwandlung:

long aLong = 22;  
int i1 = aLong;       // Error: no implicit conversion from long.  
int i2 = (int)aLong;  // OK: explicit conversion.  

Beachten Sie auch, dass es keine implizite Konvertierung von Gleitkomma-Datentypen in int gibt. Die folgende Anweisung erzeugt z.B. einen Kompilierungsfehler, außer es wird eine explizite Umwandlung verwendet:

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

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

C#-Programmiersprachenspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

<xref:System.Int32>
C#-Referenz
C#-Programmierhandbuch
C#-Schlüsselwörter
Tabelle ganzzahliger Typen
Tabelle integrierter Typen
Tabelle für implizite numerische Konvertierungen
Tabelle für explizite numerische Konvertierungen