Datový typ SByte (Visual Basic)
Obsahuje 8bitová (1 bajtová) celá čísla, která jsou v rozsahu od -128 do 127.
Poznámky
SByte
Datový typ použijte k zahrnutí celočíselné hodnoty, které nevyžadují úplnou šířku Integer
dat nebo dokonce poloviční šířku Short
dat . V některých případech může modul CLR (Common Language Runtime) zabalit proměnné SByte
úzce dohromady a ušetřit spotřebu paměti.
Výchozí hodnota SByte
je 0.
Přiřazení literálů
Proměnnou SByte
můžete deklarovat a inicializovat přiřazením desetinného literálu, šestnáctkového literálu, osmičkového literálu nebo (počínaje jazykem Visual Basic 2017) binárního literálu.
V následujícím příkladu jsou celá čísla rovna -102, které jsou reprezentovány jako desetinné, šestnáctkové a binární literály jsou SByte
přiřazeny k hodnotám. Tento příklad vyžaduje kompilaci s přepínačem kompilátoru /removeintchecks
.
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 &H
označujete šestnáctkový literál, předponu &b
nebo &B
binární literál a předponu &h
&o
nebo &O
k označení osmičkového literálu. Desetinné literály nemají předponu.
Počínaje jazykem Visual Basic 2017 můžete také použít podtržítko , _
jako oddělovač číslic k vylepš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 jazykem Visual Basic 15.5 můžete jako počáteční oddělovač mezi předponou a šestnáctkovými, binárními nebo osmičkovými číslicemi použít znak podtržítka (_
). Příklad:
Dim number As SByte = &H_F9
Chcete-li použít znak podtržítka jako počáteční oddělovač, musíte do souboru projektu jazyka Visual Basic (*.vbproj) přidat následující prvek:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Další informace naleznete v tématu Výběr jazykové verze jazyka Visual Basic.
Pokud je celočíselná literál mimo rozsah SByte
(tj. pokud je menší nebo větší než SByte.MinValue SByte.MaxValue, dojde k chybě kompilace. Pokud celočíselná literál nemá žádnou příponu , integer se odvodí. Pokud je celočíselná literála mimo rozsah Integer
typu, je odvozena hodnota Long . To znamená, že v předchozích příkladech jsou číselné literály 0x9A
a 0b10011010
interpretovány jako 32bitové signed integers s hodnotou 156, která přesahuje SByte.MaxValue. Chcete-li úspěšně zkompilovat kód podobný tomuto, který přiřadí celé číslo SByte
bez desetinné čárky, můžete provést jednu z následujících akcí:
Zakažte celočíselné kontroly kompilováním pomocí přepínače kompilátoru
/removeintchecks
.Pomocí znaku typu explicitně definujte literálovou hodnotu, kterou chcete přiřadit .
SByte
Následující příklad přiřadí zápornou literálovouShort
hodnotuSByte
. Všimněte si, že pro záporná čísla musí být nastavena bit s vysokým pořadím slova číselného literálu. V našem příkladu je to bit 15 hodnoty literáluShort
.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ý
SByte
typ není součástí specifikace CLS (Common Language Specification ), takže kód kompatibilní se specifikací CLS nemůže využívat komponentu, která ji používá.Rozšiřování. Datový
SByte
typ se rozšiřuje naShort
,Integer
,Long
,Decimal
Single
aDouble
. To znamená, že můžete převéstSByte
na některý z těchto typů, aniž byste narazili na System.OverflowException chybu.Zadejte znaky.
SByte
nemá žádný znak typu literálu ani znak typu identifikátoru.Typ architektury. Odpovídající typ v rozhraní .NET Framework je System.SByte struktura.