Udostępnij za pośrednictwem


SByte (C# odniesienia)

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

System.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 integralną (C# odniesienia) 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 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)

SByte

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia