SByte – datový typ (Visual Basic)
Obsahuje 8bitová (1bitová) celá čísla se znaménkem v rozsahu od -128 do 127.
Poznámky
Datový typ použijte, pokud chcete obsahovat celočíselné hodnoty, které nevyžadují celou šířku dat nebo dokonce poloviční SByte Integer šířku dat Short . V některých případech může být modul CLR (Common Language Runtime) schopný zabalit proměnné blízko sebe a SByte ušetřit spotřebu paměti.
Výchozí hodnota je SByte 0.
Přiřazení literálů
Proměnnou můžete deklarovat a inicializovat tak, že mu přiřadíte literál typu decimal, šestnáctkový literál, osmičkový literál SByte nebo (počínaje Visual Basic 2017) binární literál.
V následujícím příkladu jsou k hodnotám přiřazena celá čísla rovna -102, která jsou reprezentována jako desetinná, šestnáctková a binární SByte literály. Tento příklad vyžaduje kompilaci s /removeintchecks přepínačem kompilátoru.
Dim sbyteValue1 As SByte = -102
Console.WriteLine(sbyteValue1)
Dim sbyteValue4 As SByte = &H9A
Console.WriteLine(sbyteValue4)
Dim sbyteValue5 As SByte = &B1001_1010
Console.WriteLine(sbyteValue5)
' The example displays the following output:
' -102
' -102
' -102
Poznámka
Předponu nebo použijete k označení šestnáctkové literálu, předpony nebo k označení binárního literálu a předpony nebo pro označení osmičkové &h &H &b &B &o &O literálu. Desetinné literály nemají žádnou předponu.
Počínaje Visual Basic 2017 můžete také použít podtržítko jako oddělovač číslic pro zlepšení čitelnosti, jak ukazuje _ následující příklad.
Dim sbyteValue3 As SByte = &B1001_1010
Console.WriteLine(sbyteValue3)
' The example displays the following output:
' -102
Počínaje Visual Basic 15,5 můžete také použít podtržítko ( ) jako počáteční oddělovač mezi předponou a šestnáctkovým, binárním nebo osmičkovým _ číslem. Například:
Dim number As SByte = &H_F9
chcete-li použít znak podtržítka jako úvodní oddělovač, je nutné přidat následující prvek do souboru Visual Basic projektu ( * . vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
další informace najdete v tématu výběr verze Visual Basic jazyka.
Pokud je celočíselný literál mimo rozsah (to znamená, pokud je menší nebo větší než , dojde SByte SByte.MinValue k chybě SByte.MaxValue kompilace. Pokud celočíselný literál nemá žádnou příponu, je odvozeno celé číslo. Pokud je celočíselný literál mimo rozsah Integer typu, je odvozen typ Long. To znamená, že v předchozích příkladech jsou číselné literály a interpretovány jako 32bitová celá čísla se znaménkem s hodnotou 0x9A 0b10011010 156, která překračuje SByte.MaxValue . Pokud chcete úspěšně zkompilovat kód, jako je tento, který přiřadí celé číslo bez desetinného čísla , můžete SByte provést jednu z následujících akcí:
Zakažte kontroly meze celých čísel kompilací s
/removeintcheckspřepínačem kompilátoru.Pomocí znaku typu explicitně definujte hodnotu literálu, kterou chcete přiřadit k
SByteobjektu . Následující příklad přiřadí zápornou hodnotuShortliterálu .SByteVšimněte si, že pro záporná čísla musí být nastaven bit vyššího řádu slova číselného literálu ve vysokém pořadí. V našem příkladu je to bit 15 literálovéShorthodnoty.Dim sByteValue1 As SByte = &HFF_9As Dim sByteValue2 As SByte = &B1111_1111_1001_1010s Console.WriteLine(sByteValue1) Console.WriteLine(sByteValue2)
Tipy k programování
Dodržování předpisů CLS. Datový typ není součástí specifikace
SByteCLS (Common Language Specification), takže kód kompatibilní se specifikací CLS nemůže využívat komponentu, která ho používá.Rozšíření. Datový
SBytetyp se rozšiřuje na , , , , aShortIntegerLongDecimalSingleDouble. To znamená, že můžeteSBytepřevést na kterýkoli z těchto typů, aniž by došlo k System.OverflowException chybě.Zadejte Znaky.
SBytenemá žádný znak literálového typu ani znak typu identifikátoru.Typ architektury. Odpovídající typ v .NET Framework je System.SByte struktura.