Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A -128 és 127 közötti értéktartományú aláírt 8 bites (1 bájtos) egész számokat tárolja.
Megjegyzések
SByte Az adattípussal olyan egész számértékeket tartalmazhat, amelyekhez nem szükséges a teljes adatszélesség, vagy akár a fél adatszélesség Integer semShort. Bizonyos esetekben a közös nyelvi futtatókörnyezet képes lehet szorosan összecsomagolni a változókat, és menteni a SByte memóriahasználatot.
Az alapértelmezett érték SByte 0.
Konstans hozzárendelések
A SByte változók deklarálhatók és inicializálhatók úgy, hogy decimális literált, hexadecimális literált, oktális literált vagy (a Visual Basic 2017-től kezdődően) bináris literált rendelnek hozzá.
Az alábbi példában a -102-nek felel meg az egész szám, amely decimális, hexadecimális és bináris literálként van megadva az értékekhez SByte . Ebben a példában a fordítókapcsolóval kell fordítást /removeintchecks készíteni.
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
Feljegyzés
Az előtagot &h vagy &H egy hexadecimális literált, az előtagot &b vagy &B egy bináris literál jelölését, valamint az előtagot &o vagy &O egy oktális literál jelölését használhatja. A tizedes literálok nem rendelkeznek előtaggal.
A Visual Basic 2017-től kezdve az aláhúzásjelet is használhatja számjegyelválasztóként _az olvashatóság javítása érdekében, ahogy az alábbi példa is mutatja.
Dim sbyteValue3 As SByte = &B1001_1010
Console.WriteLine(sbyteValue3)
' The example displays the following output:
' -102
A Visual Basic 15.5-től kezdve az aláhúzásjelet (_) is használhatja vezető elválasztóként az előtag és a hexadecimális, bináris vagy oktális számjegyek között. Példa:
Dim number As SByte = &H_F9
Ha az aláhúzásjelet vezető elválasztóként szeretné használni, a következő elemet kell hozzáadnia a Visual Basic-projektfájlhoz (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
További információ: A Visual Basic nyelvi verziójának kiválasztása.
Ha az egész szám konstansa kívül esik a tartományon SByte (vagyis kisebb vagy nagyobb, mint SByte.MinValueSByte.MaxValue), fordítási hiba lép fel. Ha egy egész szám konstansának nincs utótagja, a függvény egy egész számot is kikövetkeztet. Ha az egész szám literálja kívül esik a Integer típus tartományán, a hosszú érték lesz kikövetkeztetve. Ez azt jelenti, hogy az előző példákban a numerikus literálok 0x9A0b10011010 32 bites aláírt egész számokként vannak értelmezve, amelyek értéke 156, ami meghaladja SByte.MaxValuea . A nem decimális egész számokat SByteegyhez rendelő kód sikeres fordításához tegye az alábbiak egyikét:
Az egész számhatárok ellenőrzésének letiltása a
/removeintchecksfordítókapcsolóval való összeállítással.Használjon típuskarakte-karaktert a hozzá rendelni kívánt literális érték explicit definiálásához
SByte. Az alábbi példa negatív literálértéketShortrendel hozzá egySByte. Ne feledje, hogy negatív számok esetén a számkonstans magasrendű szójának nagyrendű bitét kell beállítani. A példánk esetében ez a literálisShortérték 15 bitese.Dim sByteValue1 As SByte = &HFF_9As Dim sByteValue2 As SByte = &B1111_1111_1001_1010s Console.WriteLine(sByteValue1) Console.WriteLine(sByteValue2)
Programozási tippek
CLS-megfelelőség. Az
SByteadattípus nem része a Common Language Specification (CLS)-nek, ezért a CLS-kompatibilis kód nem tud olyan összetevőt használni, amely azt használja.Szélesedő. Az
SByteadattípus a következőre szélesedikShort: ,Integer,Long,Decimal,SingleésDouble. Ez azt jelenti, hogy bármilyen ilyen típusra konvertálhatSByteanélkül, hogy hiba merült fel System.OverflowException .Írja be a karaktereket.
SBytenem rendelkezik literális típuskaraktere vagy azonosítótípus-karaktere.Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa a System.SByte struktúra.