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 |
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
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)