Sdílet prostřednictvím


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 Shortdat . 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 SBytebez 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álovou Short hodnotu SByte. 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álu Short .

    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 na Short, Integer, Long, DecimalSinglea Double. To znamená, že můžete převést SByte 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.

Viz také