Sdílet prostřednictvím


sbyte (Referenční dokumentace jazyka C#)

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

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 Tabulka celočíselných typů (Referenční dokumentace jazyka C#) 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 Tabulka implicitních číselných převodů (Referenční dokumentace jazyka C#).

Specifikace jazyka C#

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

Tabulka celočíselných typů (Referenční dokumentace jazyka C#)

Tabulka předdefinovaných typů (Referenční dokumentace jazyka C#)

Tabulka implicitních číselných převodů (Referenční dokumentace jazyka C#)

Tabulka explicitních číselných převodů (Referenční dokumentace jazyka C#)

SByte

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#