sbyte (odwołanie w C#)

sbyte Słowa kluczowego wskazuje typ integralny, który przechowuje wartości zgodnie z wielkości i zasięgu pokazane w poniższej tabeli.

Typ

Zakres

Rozmiar

.NET Framework typu

sbyte

-128 do 127.

8-Bitowa liczba całkowita ze znakiem

SByte

Literały

Można zadeklarować i zainicjować sbyte zmiennej w ten sposób:

sbyte sByte1 = 127;

W poprzedniej deklaracji całkowitą literału 127 jest niejawnie konwertowane z int do sbyte.Jeśli literał liczby całkowitej przekracza zakres sbyte, 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ą sbyte i int parametry:

public static void SampleMethod(int i) {}
public static void SampleMethod(sbyte b) {}

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

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

Konwersje

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

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

sbyte x = 10, y = 20;

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

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

Aby rozwiązać ten problem, oddanych wyrażenie, jak w poniższym przykładzie:

sbyte z = (sbyte)(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:

sbyte x = 10, y = 20;
int m = x + y;
long n = x + y;

Należy zwrócić również uwagę jest niejawna konwersja z zmiennoprzecinkowych typów do sbyte.Na przykład poniższa instrukcja generuje błąd kompilatora, chyba, że używany jest jawny oddanych:

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

Informacji o wyrażeniach arytmetyczne z mieszanych typy zmiennoprzecinkowych i integralną, zobacz pływaka i double.

Aby uzyskać więcej informacji o regułach niejawna konwersja numeryczne, zobacz Tabela niejawnych konwersji liczbowych (odwołanie w C#).

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Tabela typów całkowitych (odwołanie w C#)

Tabela typów wbudowanych (odwołanie w C#)

Tabela niejawnych konwersji liczbowych (odwołanie w C#)

Tabela jawnych konwersji liczbowych (odwołanie w C#)

SByte

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Odwołanie w C#