Statik (Visual Basic)
Menentukan bahwa satu atau beberapa variabel lokal yang dinyatakan akan terus ada dan mempertahankan nilai terbarunya setelah penghentian prosedur di mana variabel tersebut dinyatakan.
Keterangan
Biasanya, variabel lokal dalam prosedur tidak ada lagi segera setelah prosedur berhenti. Variabel statis terus ada dan mempertahankan nilai terbarunya. Lain kali kode Anda memanggil prosedur, variabel tidak diinisialisasi ulang, dan masih menyimpan nilai terbaru yang Anda tetapkan untuk itu. Variabel statis terus ada untuk masa pakai kelas atau modul tempat variabel tersebut ditentukan.
Aturan
Konteks Deklarasi. Anda hanya dapat menggunakan
Static
pada variabel lokal. Ini berarti konteks deklarasi untuk variabelStatic
harus berupa prosedur atau blok dalam prosedur, dan tidak boleh berupa file sumber, namespace layanan, kelas, struktur, atau modul.Anda tidak dapat menggunakan
Static
di dalam prosedur struktur.Jenis data
Static
variabel lokal tidak dapat disimpulkan. Untuk informasi selengkapnya, lihat Inferensi Jenis Lokal.Pengubah Gabungan. Anda tidak dapat menentukan
Static
bersama denganReadOnly
,Shadows
, atauShared
dalam deklarasi yang sama.
Perilaku
Ketika Anda mendeklarasikan variabel statik dalam prosedur Shared
, hanya satu salinan variabel statik yang tersedia untuk seluruh aplikasi. Anda memanggil prosedur Shared
dengan menggunakan nama kelas, bukan variabel yang menunjuk ke instans kelas.
Saat Anda menyatakan variabel statik dalam prosedur yang bukan Shared
, hanya satu salinan variabel yang tersedia untuk setiap instans kelas. Anda memanggil prosedur non-bersama dengan menggunakan variabel yang menunjuk ke instans kelas tertentu.
Contoh
Contoh berikut menunjukkan penggunaan Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Variabel Static
totalSales
diinisialisasi menjadi 0 hanya satu kali. Setiap kali Anda memasukkan updateSales
, totalSales
masih memiliki nilai terbaru yang Anda hitung untuk itu.
Pengubah Static
dapat digunakan dalam konteks ini: