Jenis daya SByte (Visual Basic)

Menahan bilangan bulat 8-bit (1-byte) yang ditandatangani dengan nilainya berkisar dari -128 hingga 127.

Keterangan

Gunakan jenis data SByte ini untuk mengisi nilai bilangan bulat yang tidak memerlukan lebar data penuh dari Integer atau bahkan setengah lebar data dari Short. Dalam beberapa kasus, runtime bahasa umum dapat memaketkan variabel SByte Anda secara erat dan menghemat konsumsi memori.

Nilai default dari SByte adalah 0.

Penetapan harfiah

Anda dapat mendeklarasikan dan menginisialisasi variabel SByte dengan menetapkannya harfiah desimal, harfiah heksadesimal, harfiah oktal, atau (dimulai dengan Visual Basic 2017) harfiah biner.

Dalam contoh berikut, bilangan bulat sama dengan -102 yang dinyatakan sebagai literal desimal, heksadesimal, dan biner ditetapkan ke nilai SByte. Contoh ini mengharuskan Anda mengompilasi dengan sakelar kompiler /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

Catatan

Anda menggunakan awalan &h atau &H untuk menunjukkan harfiah heksadesimal, awalan &b atau &B untuk menunjukkan harfiah biner, dan awalan &o atau &O untuk menunjukkan harfiah oktal. Harfiah desimal tidak memiliki awalan.

Dimulai dari Visual Basic 2017, Anda juga dapat menggunakan karakter garis bawah, _, sebagai pemisah digit untuk meningkatkan keterbacaan, seperti yang ditunjukkan contoh berikut.

Dim sbyteValue3 As SByte = &B1001_1010
Console.WriteLine(sbyteValue3)
' The example displays the following output:
'          -102

Dimulai dari Visual Basic 15.5, Anda juga dapat menggunakan karakter garis bawah (_) sebagai pemisah utama antara awalan dan digit heksadesimal, biner, atau oktal. Contohnya:

Dim number As SByte = &H_F9

Untuk menggunakan karakter garis bawah sebagai pemisah utama, Anda harus menambahkan elemen berikut ke file proyek Visual Basic (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Untuk informasi selengkapnya, lihat Memilih versi bahasa Visual Basic.

Jika harfiah bilangan bulat berada diluar rentang dari SByte (maka, jika ia kurang dari SByte.MinValue atau lebih dari SByte.MaxValue, kesalahan kompilasi terjadi. Ketika bilangan bulat literal tidak memiliki akhiran, Bilangan Bulat disimpulkan. Jika bilangan bulat harfiah berada di luar rentang jenis Integer, Panjang disimpulkan. Artinya bahwa, dalam contoh sebelumnya, harfiah numerik 0x9A dan 0b10011010 ditafsirkan sebagai bilangan bulat bertanda 32-bit dengan nilai 156, yang melebihi SByte.MaxValue. Agar berhasil mengompilasi kode seperti ini yang menetapkan bilangan bulat non-desimal ke SByte, Anda dapat melakukan salah satu hal berikut:

  • Nonaktifkan pemeriksaan batas bilangan bulat dengan mengompilasi dengan sakelar kompiler /removeintchecks.

  • Gunakan karakter jenis untuk secara eksplisit menentukan nilai harfiah yang ingin Anda tetapkan ke SByte. Contoh berikut menetapkan nilai literal Short negatif ke SByte. Perhatikan bahwa, untuk angka negatif, bit urutan-tinggi dari kata urutan tinggi harfiah numerik harus diatur. Dalam kasus contoh kami, ini adalah bit 15 dari nilai harfiah Short.

    Dim sByteValue1 As SByte = &HFF_9As
    Dim sByteValue2 As SByte = &B1111_1111_1001_1010s
    Console.WriteLine(sByteValue1)
    Console.WriteLine(sByteValue2)
    

Tips pemrograman

  • Kepatuhan CLS. Jenis data SByte bukan bagian dari Common Language Specification (CLS), sehingga kode yang mematuhi CLS tidak dapat memakai komponen yang menggunakannya.

  • Pelebaran. Jenis data SByte diperluas menjadi Short, Integer, Long, Decimal, Single, dan Double. Ini berarti Anda dapat mengonversi SByte ke salah satu jenis ini tanpa mengalami kesalahan System.OverflowException.

  • Ketik Karakter. SByte tidak memiliki karakter jenis harfiah atau karakter jenis pengidentifikasi.

  • Jenis Kerangka. Jenis yang sesuai dalam .NET Framework adalah struktur System.SByte.

Lihat juga