Sdílet prostřednictvím


SByte (C#-Reference)

sbyte Klíčové slovo označuje integrálního typu, který ukládá hodnoty podle velikosti a oblasti, které jsou uvedeny v následující tabulce.

Type

Rozsah

Size

typ .NET Framework

sbyte

-128 a 127.

8Bitové celé číslo se znaménkem

System.SByte

Literály

Můžete deklarovat a inicializovat sbyte proměnné tímto způsobem:

sbyte sByte1 = 127;

V předchozí prohlášení Celočíselný literál 127 implicitně převeden z int na sbyte.Pokud je literál celého přesahuje rozsah sbyte, 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í sbyte a int parametry:

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

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

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

Převody

Existuje předdefinované implicitní převod z sbyte na krátké, int, dlouhý, plovoucí, dvojité, nebo desetinné.

Nelze implicitně převést nonliteral číselné typy větší velikost úložiště na sbyte (viz Nedílnou tabulky typy (C#-Reference) pro velikosti úložiště nedílnou typů).Zvažte například následující dva sbyte proměnné x a y:

sbyte x = 10, y = 20;

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í.

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

Chcete-li tento problém vyřešit, odevzdaných výraz jako v následujícím příkladu:

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

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

Všimněte si také, že je implicitní převod z typů s plovoucí desetinnou čárkou pro sbyte.Například následující příkaz vygeneruje chybu kompilátoru Pokud explicitní cast:

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

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

Další informace o pravidlech implicitní převod číselných naleznete Implicitní číselné tabulky převody (C#-Reference).

Specifikace jazyka C#

Další informace naleznete 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#

Nedílnou tabulky typy (C#-Reference)

Předdefinované typy (C#-Reference)

Implicitní číselné tabulky převody (C#-Reference)

Explicitní číselné tabulky převody (C#-Reference)

SByte

Koncepty

Příručka programování C#

Další zdroje

C#-Reference