Sdílet prostřednictvím


short (Referenční dokumentace jazyka C#)

short Klíčové slovo označuje nedílnou datový typ, který ukládá hodnoty podle velikosti a oblasti, které jsou uvedeny v následující tabulce.

Type

Rozsah

Size

typ .NET Framework

short

-32,768 do 32 767

Celé 16bitové číslo

Int16

Literály

Můžete deklarovat a inicializovat short proměnné následujícím způsobem:

short x = 32767;

V předchozích prohlášení literál celého 32767 implicitně převeden z int na short.Pokud literál celé nevejdou short umístění úložiště, dojde k chybě kompilace.

Osazení musí při přetížení volání metody.Zvažte například následující přetížení metody, které používají short a int parametry:

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

Použití short cast zaručuje, že správný typ je názvem, například:

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

Převody

Existuje předdefinované implicitní převod z short na int, dlouhý, plovoucí, dvojité, nebo desetinné.

Nelze implicitně převést nonliteral číselné typy větší velikost úložiště na short (viz Tabulka celočíselných typů (Referenční dokumentace jazyka C#) pro velikosti úložiště nedílnou typů).Zvažte například následující dva short proměnné x a y:

short x = 5, y = 12;

Uvedený přiřazovací ohlásí chybu kompilace, protože vyhodnocen jako aritmetický výraz na pravé straně operátoru přiřazení int ve výchozím nastavení.

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

Chcete-li tento problém vyřešit, použijte osazení:

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

Je však možné použít následující příkazy, pokud cílová proměnná má stejnou velikost nebo větší velikost úložiště:

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

Implicitní převod z typů s pohyblivou čárkou je short.Například následující příkaz vygeneruje chybu kompilátoru Pokud explicitní cast:

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

Informace o aritmetické výrazy s typy nedílnou a smíšené typy s plovoucí desetinnou čárkou, viz plovoucí a dvojité.

Další informace o pravidlech implicitní převod číselných naleznete Tabulka implicitních číselných převodů (Referenční dokumentace jazyka C#).

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

Tabulka celočíselných typů (Referenční dokumentace jazyka C#)

Tabulka předdefinovaných typů (Referenční dokumentace jazyka C#)

Tabulka implicitních číselných převodů (Referenční dokumentace jazyka C#)

Tabulka explicitních číselných převodů (Referenční dokumentace jazyka C#)

Int16

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#