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 /removeintchecks přepínačem kompilátoru.

  • Pomocí znaku typu explicitně definujte hodnotu literálu, kterou chcete přiřadit k SByte objektu . Následující příklad přiřadí zápornou hodnotu Short literálu . SByte Vš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é Short hodnoty.

    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 SByte CLS (Common Language Specification), takže kód kompatibilní se specifikací CLS nemůže využívat komponentu, která ho používá.

  • Rozšíření. Datový SByte typ se rozšiřuje na , , , , a Short Integer Long Decimal Single Double . To znamená, že můžete SByte převést na kterýkoli z těchto typů, aniž by došlo k System.OverflowException chybě.

  • Zadejte Znaky. SByte nemá žádný znak literálového typu ani znak typu identifikátoru.

  • Typ architektury. Odpovídající typ v .NET Framework je System.SByte struktura.

Viz také