Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendeklarasikan dan mendefinisikan satu atau beberapa konstanta.
Sintaksis
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Bagian
attributelist
Fakultatif. Daftar atribut yang berlaku untuk semua konstanta yang dideklarasikan dalam pernyataan ini. Lihat Daftar Atribut dalam tanda kurung sudut ("<" dan ">").
accessmodifier
Fakultatif. Gunakan ini untuk menentukan kode apa yang dapat mengakses konstanta ini. Dapat bersifat Publik, Dilindungi, Teman, Teman yang Dilindungi, Privat, atau Dilindungi Privat.
Shadows
Fakultatif. Gunakan ini untuk mendeklarasi ulang dan menyembunyikan elemen pemrograman di kelas dasar. Lihat Bayangan.
constantlist
Dibutuhkan. Daftar konstanta yang dideklarasikan dalam pernyataan ini.
constant
[ ,
constant
... ]
Masing-masing constant memiliki sintaks dan bagian berikut:
constantname
[ As
datatype
] =
initializer
| Bagian | Deskripsi |
|---|---|
constantname |
Dibutuhkan. Nama konstanta. Lihat Nama Elemen yang Dideklarasikan. |
datatype |
Diperlukan jika Option Strict adalah On. Jenis data konstanta. |
initializer |
Dibutuhkan. Ekspresi yang dievaluasi pada waktu kompilasi dan ditetapkan ke konstanta. |
Komentar
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 daripada nilai. Anda dapat menentukan konstanta sekali saja dan menggunakannya di banyak tempat dalam kode Anda. Jika dalam versi yang lebih baru Anda perlu menentukan ulang nilai, Const pernyataan adalah satu-satunya tempat Anda perlu membuat perubahan.
Anda hanya dapat menggunakan Const pada tingkat modul atau prosedur. Ini berarti konteks deklarasi untuk variabel harus berupa kelas, struktur, modul, prosedur, atau blok, dan tidak dapat menjadi file sumber, namespace, atau antarmuka. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Bawaan.
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, adalah konstanta anggota; ini adalah anggota kelas, struktur, atau modul yang mendeklarasikannya.
Konstanta yang dinyatakan pada tingkat prosedur adalah konstanta lokal; lokal untuk prosedur atau blok yang menyatakannya.
Atribut. Anda hanya dapat menerapkan atribut ke konstanta anggota, bukan ke konstanta lokal. Atribut menyumbangkan informasi ke metadata perakitan, yang tidak bermakna untuk penyimpanan sementara seperti konstanta lokal.
Pengubah. Secara default, semua konstanta adalah
Shared,Static, danReadOnly. Anda tidak dapat menggunakan salah satu kata kunci ini saat mendeklarasikan konstanta.Pada tingkat prosedur, Anda tidak dapat menggunakan
Shadowsatau pengubah akses apa pun untuk mendeklarasikan konstanta lokal.Beberapa Konstanta. Anda dapat mendeklarasikan beberapa konstanta dalam pernyataan deklarasi yang sama, menentukan
constantnamebagian untuk masing-masing konstanta. Beberapa konstanta dipisahkan oleh koma.
Aturan Tipe Data
Jenis Data. Pernyataan
Constdapat 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 .initializerJika Anda menentukan dandatatypeinitializer, jenisinitializerdata harus dapat dikonversi kedatatype. Jika tidak jugadatatypeinitializertidak ada, jenis data default keObject.Jenis yang berbeda. Anda dapat menentukan jenis data yang berbeda untuk konstanta yang berbeda dengan menggunakan klausul terpisah
Asuntuk setiap variabel yang Anda deklarasikan. Namun, Anda tidak dapat menyatakan beberapa konstanta menjadi tipe yang sama dengan menggunakan klausa umumAs.Inisialisasi. Anda harus menginisialisasi nilai setiap konstanta dalam
constantlist. Anda menggunakaninitializeruntuk menyediakan ekspresi yang akan ditetapkan ke konstanta. Ekspresi dapat berupa kombinasi literal, 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 dalam
initializer. Namun, Anda dapat menggunakan kata kunci konversi sepertiCBytedanCShort. Anda juga dapat menggunakannyaAscWjika Anda memanggilnya dengan konstantaStringatauCharargumen, karena itu dapat dievaluasi pada waktu kompilasi.
Perilaku
Ruang lingkup. Konstanta lokal hanya dapat diakses dari dalam prosedur atau bloknya. 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 blok tidak dapat merujuk ke konstanta lokal apa pun dalam prosedur atau blok tersebut.
Contoh 1
Contoh berikut menggunakan Const pernyataan untuk mendeklarasikan konstanta untuk digunakan sebagai pengganti 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 Objectdata , pengkompilasi Visual Basic memberinya jenis initializer, bukan Object. Dalam contoh berikut, konstanta naturalLogBase memiliki jenis Decimalrun-time .
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
naturalLogBase.GetType.ToString())
Contoh sebelumnya menggunakan ToString metode pada objek yang Type dikembalikan oleh Operator GetType, karena Type tidak dapat dikonversi ke String menggunakan CStr.