(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

short (C#-Referenz)

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

Typ

Bereich

Größe

.NET Framework-Typ

short

-32.768 bis 32.767

Ganze 16-Bit-Zahl mit Vorzeichen

System.Int16

Eine short-Variable kann wie im folgenden Beispiel deklariert und initialisiert werden:

short x = 32767;

In der vorangehenden Deklaration wird das Ganzzahlliteral 32767 implizit von int in short konvertiert. Wenn das Ganzzahlliteral zu groß für einen short-Speicherbereich ist, tritt ein Kompilierungsfehler auf.

Beim Aufrufen überladener Methoden muss eine Typumwandlung erfolgen. Betrachten Sie z. B. die folgenden überladenen Methoden, die den short-Parameter und den int-Parameter verwenden:

public static void SampleMethod(int i) {}
public static void SampleMethod(short s) {}

Die Verwendung der short-Typumwandlung gewährleistet, dass der richtige Typ aufgerufen wird. Beispiel:

SampleMethod(5);         // Calling the method with the int parameter
SampleMethod((short)5);  // Calling the method with the short parameter

Es erfolgt eine vordefinierte implizite Konvertierung von short in int, long, float, double oder decimal.

Es ist nicht möglich, numerische Typen mit höherer Speichergröße, die keine Literale sind, implizit in short zu konvertieren. (Informationen zu den Speichergrößen ganzzahliger Typen finden Sie unter Tabelle ganzzahliger Typen (C#-Referenz).) Betrachten Sie z. B. die beiden folgenden short-Variablen x und y:

short x = 5, y = 12;

Die folgende Zuweisungsanweisung erzeugt einen Kompilierungsfehler, da der arithmetische Ausdruck auf der rechten Seite des Zuweisungsoperators standardmäßig den Wert int annimmt.

short z = x + y; // Error: no conversion from int to short

Verwenden Sie zur Problembehebung eine Typumwandlung:

short z = ( short )(x + y); // OK: explicit conversion

Hier können jedoch die folgenden Anweisungen verwendet werden, bei denen die Zielvariable dieselbe oder eine höhere Speichergröße aufweist:

int m = x + y;
long n = x + y;

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

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

Weitere Informationen über arithmetische Ausdrücke aus 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).

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

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft