Bagikan melalui


Pernyataan Konstanta (Visual Basic)

Mendeklarasikan dan menentukan satu atau beberapa konstanta.

Sintaks

[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist

Generator

attributelist
Opsional. Daftar atribut yang berlaku untuk semua konstanta yang dideklarasikan dalam pernyataan ini. Lihat Daftar Atribut dalam tanda kurung sudut ("<" dan ">").

accessmodifier
Opsional. Gunakan ini untuk menentukan kode apa yang dapat mengakses konstanta ini. Dapat bersifat Publik, Dilindungi, Teman, Teman yang Dilindungi, Privat, atau Dilindungi Privat.

Shadows
Opsional. Gunakan ini untuk mendeklarasi ulang dan menyembunyikan elemen pemrograman di kelas dasar. Lihat Bayangan.

constantlist
Harus diisi. Daftar konstanta yang dideklarasikan dalam pernyataan ini.

constant [ , constant ... ]

Setiap constant memiliki sintaks dan bagian berikut:

constantname [ As datatype ] = initializer

Bagian Deskripsi
constantname Harus diisi. Nama konstanta. Lihat Nama Elemen yang Dideklarasikan.
datatype Diperlukan jika Option Strict adalah On. Jenis data konstanta.
initializer Harus diisi. Ekspresi yang dievaluasi pada waktu kompilasi dan ditetapkan ke konstanta.

Keterangan

Jika Anda memiliki nilai yang tidak pernah berubah dalam aplikasi, Anda dapat menentukan konstanta bernama dan menggunakannya sebagai ganti nilai harfiah. Nama lebih mudah diingat dibandingkan nilai. Anda dapat menentukan konstanta hanya sekali dan menggunakannya di banyak tempat dalam kode Anda. Jika dalam versi yang lebih baru Anda perlu menentukan ulang nilainya, pernyataan Const adalah satu-satunya tempat yang Anda butuhkan untuk membuat perubahan.

Anda hanya dapat menggunakan Const pada tingkat modul atau prosedur. Ini berarti konteks deklarasi untuk variabel harus berupa kelas, struktur, modul, atau prosedur, dan tidak boleh berupa file sumber, namespace, atau antarmuka. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Default.

Konstanta lokal (di dalam prosedur) default ke akses publik, dan Anda tidak dapat menggunakan pengubah akses apa pun di dalamnya. Konstanta anggota kelas dan modul (di luar prosedur apa pun) default ke akses privat, dan konstanta anggota struktur default ke akses publik. Anda dapat menyesuaikan tingkat aksesnya dengan pengubah akses.

Aturan

  • Konteks Deklarasi. Konstanta yang dideklarasikan pada tingkat modul, di luar prosedur apa pun, merupakan konstanta anggota; ini adalah anggota kelas, struktur, atau modul yang mendeklarasikannya.

    Konstanta yang dinyatakan pada tingkat prosedur adalah konstanta lokal; ini bersifat lokal untuk prosedur atau blok yang mendeklarasikannya.

  • Atribut. Anda hanya dapat menerapkan atribut ke konstanta anggota, bukan ke konstanta lokal. Atribut berkontribusi informasi ke metadata rakitan, yang tidak bermakna untuk penyimpanan sementara seperti konstanta lokal.

  • Pengubah. Semua konstanta secara default adalah Shared, Static, dan ReadOnly. Anda tidak dapat menggunakan salah satu kata kunci ini saat mendeklarasikan konstanta.

    Pada tingkat prosedur, Anda tidak dapat menggunakan Shadows atau pengubah akses apa pun untuk mendeklarasikan konstanta lokal.

  • Beberapa Konstanta. Anda dapat mendeklarasikan beberapa konstanta dalam pernyataan deklarasi yang sama, menentukan bagian constantname untuk masing-masing konstanta. Beberapa konstanta dipisahkan oleh koma.

Aturan Jenis Data

  • Jenis Data. Pernyataan Const dapat mendeklarasikan jenis data variabel. Anda dapat menentukan jenis data apa pun atau nama enumerasi.

  • Jenis Default. Jika Anda tidak menentukan datatype, konstanta mengambil jenis data initializer. Jika Anda menentukan datatype dan initializer, jenis data initializer harus dapat dikonversi ke datatype. Jika datatype atau initializer tidak ada, jenis data default ke Object.

  • Jenis yang Berbeda. Anda dapat menentukan jenis data yang berbeda untuk konstanta yang berbeda dengan menggunakan klausul As terpisah untuk setiap variabel yang Anda deklarasikan. Tetapi, Anda tidak dapat menyatakan beberapa konstanta memiliki jenis yang sama dengan menggunakan klausul As umum.

  • Inisialisasi. Anda harus menginisialisasi nilai setiap konstanta di constantlist. Anda menggunakan initializer untuk menyediakan ekspresi yang akan ditetapkan ke konstanta. Ekspresi dapat berupa kombinasi harfiah, konstanta lain yang sudah ditentukan, dan anggota enumerasi yang sudah ditentukan. Anda dapat menggunakan operator aritmatika dan logis untuk menggabungkan elemen tersebut.

    Anda tidak dapat menggunakan variabel atau fungsi di initializer. Namun, Anda dapat menggunakan kata kunci konversi seperti CByte dan CShort. Anda juga dapat menggunakannya AscW jika Anda menyebutnya dengan konstanta argumen String atau Char, karena itu dapat dievaluasi pada waktu kompilasi.

Perilaku

  • Cakupan. Konstanta lokal hanya dapat diakses dari dalam prosedur atau blok mereka. Konstanta anggota dapat diakses dari mana saja dalam kelas, struktur, atau modul mereka.

  • Kualifikasi. Kode di luar kelas, struktur, atau modul harus memenuhi syarat nama konstanta anggota dengan nama kelas, struktur, atau modul tersebut. Kode di luar prosedur atau blokir tidak dapat merujuk ke konstanta lokal apa pun dalam prosedur atau blok tersebut.

Contoh 1

Contoh berikut menggunakan pernyataan Const untuk mendeklarasikan konstanta untuk digunakan sebagai ganti nilai harfiah.

' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5

Contoh 2

Jika Anda menentukan konstanta dengan jenis data Object, kompilator Visual Basic memberinya jenis initializer, bukannya Object. Dalam contoh berikut, konstanta naturalLogBase memiliki jenis run-timetime Decimal.

Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
    naturalLogBase.GetType.ToString())

Contoh sebelumnya menggunakan metode ToString pada objek Type yang dikembalikan oleh Operator GetType, karena Type tidak dapat dikonversi ke String menggunakan CStr.

Lihat juga