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
, danReadOnly
. 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 datainitializer
. Jika Anda menentukandatatype
daninitializer
, jenis datainitializer
harus dapat dikonversi kedatatype
. Jikadatatype
atauinitializer
tidak ada, jenis data default keObject
.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 klausulAs
umum.Inisialisasi. Anda harus menginisialisasi nilai setiap konstanta di
constantlist
. Anda menggunakaninitializer
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 sepertiCByte
danCShort
. Anda juga dapat menggunakannyaAscW
jika Anda menyebutnya dengan konstanta argumenString
atauChar
, 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk