Udostępnij za pośrednictwem


krótki (C# odniesienia)

short Słowa kluczowego oznacza typ integralną danych, który przechowuje wartości zgodnie z wielkości i zasięgu pokazane w poniższej tabeli.

Typ

Zakres

Rozmiar

.NET Framework typu

short

-od 32 768 do 32 767.

16-Bitowa liczba całkowita ze znakiem

System.Int16

Literały

Można zadeklarować i zainicjować short zmiennej, tak jak w tym przykładzie:

short x = 32767;

W deklaracji poprzedniego literałem liczby całkowitej 32767 jest niejawnie konwertowane z int do short.Jeśli literał liczby całkowitej nie mieści się w short lokalizacji przechowywania, wystąpi błąd kompilacji.

Rzutowanie muszą być używane podczas wywołania przeciążenia metody.Należy wziąć pod uwagę, na przykład, następujące przeciążenia metody, które używają short i int parametry:

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

Za pomocą short cast gwarantuje, że poprawny typ jest wywoływana, na przykład:

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

Konwersje

Istnieje wstępnie niejawna konwersja z short do int, long, pływaka, podwójne, lub dziesiętne.

Nie można niejawnie przekonwertować nonliteral typy liczbowe większy rozmiar magazynu do short (zobacz Tabela typów integralną (C# odniesienia) rozmiarów składowania integralną typów).Należy rozważyć, na przykład, następujące dwa short zmiennych x i y:

short x = 5, y = 12;

W następującej instrukcji przypisania wygeneruje błąd kompilacji, ponieważ arytmetyczne wyrażenie po prawej stronie operatora przypisania zostanie int domyślnie.

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

Aby rozwiązać ten problem, użyj rzutowania:

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

Możliwe jest jednak zastosować następujące instrukcje, gdzie zmienna przeznaczenia ma taki sam rozmiar magazynu lub większy rozmiar magazynu:

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

Istnieje niejawna konwersja z zmiennoprzecinkowych typów do short.Na przykład poniższa instrukcja generuje błąd kompilatora, chyba, że używany jest jawny oddanych:

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

Informacji na temat wyrażeń arytmetyczne z mieszanych typy zmiennoprzecinkowych i integralną, zobacz pływaka i double.

Aby uzyskać więcej informacji o regułach niejawna konwersja numeryczne, zobacz Tabeli niejawne konwersje numeryczne (C# odniesienia).

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Tabela typów integralną (C# odniesienia)

Wbudowane typy tabeli (C# odniesienia)

Tabeli niejawne konwersje numeryczne (C# odniesienia)

Jawne numeryczne tabeli konwersji (C# odniesienia)

Int16

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia