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 |
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
Tabela typów integralną (C# odniesienia)
Wbudowane typy tabeli (C# odniesienia)
Tabeli niejawne konwersje numeryczne (C# odniesienia)
Jawne numeryczne tabeli konwersji (C# odniesienia)