Jenis Nilai dan Jenis Referensi
Ada dua jenis tipe dalam Visual Basic: jenis referensi dan jenis nilai. Variabel jenis referensi menyimpan referensi ke datanya (objek), sementara variabel jenis nilai secara langsung berisi datanya. Dengan jenis referensi, dua variabel dapat mereferensikan objek yang sama; oleh karena itu, operasi pada satu variabel dapat memengaruhi objek yang dirujuk oleh variabel lain. Dengan jenis nilai, setiap variabel memiliki salinan datanya sendiri, dan tidak dimungkinkan untuk operasi pada satu variabel untuk memengaruhi variabel lainnya (kecuali dalam kasus pengubah ByRef pada parameter).
Jenis Nilai
Jenis data adalah jenis nilai jika menyimpan data dalam alokasi memorinya sendiri. Tipe nilai meliputi yang berikut:
Semua tipe data numerik
Boolean
,Char
, danDate
Semua struktur, bahkan jika anggotanya adalah tipe referensi
Enumerasi, karena jenis yang mendasarnya selalu
SByte
,Short
,Integer
,Long
,Byte
,UShort
,UInteger
, atauULong
Setiap struktur adalah tipe nilai, bahkan jika itu berisi anggota tipe referensi. Untuk alasan ini, jenis nilai seperti Char
dan Integer
diimplementasikan oleh struktur .NET Framework.
Anda bisa mendeklarasikan jenis nilai dengan menggunakan kata kunci yang dipesan, misalnya, Decimal
. Anda juga bisa menggunakan kata kunci New
untuk menginisialisasi jenis nilai. Ini sangat berguna jika tipe memiliki konstruktor yang mengambil parameter. Contohnya adalah Decimal(Int32, Int32, Int32, Boolean, Byte) konstruktor, yang membangun nilai baru Decimal
dari bagian yang disediakan.
Jenis Referensi
Jenis referensi menyimpan referensi ke datanya. Jenis referensi meliputi yang berikut:
String
Semua array, bahkan jika elemennya adalah tipe nilai
Jenis kelas, seperti Form
Delegasikan
Kelas adalah jenis referensi. Perhatikan bahwa setiap array adalah jenis referensi, bahkan jika anggotanya adalah tipe nilai.
Karena setiap jenis referensi mewakili kelas .NET Framework yang mendasar, Anda harus menggunakan kata kunci Operator Baru saat menginisialisasinya. Pernyataan berikut menginisialisasi array.
Dim totals() As Single = New Single(8) {}
Elemen yang Bukan Tipe
Elemen pemrograman berikut tidak memenuhi syarat sebagai jenis, karena Anda tidak bisa menentukan salah satu dari mereka sebagai tipe data untuk elemen yang dideklarasikan:
Namaspace
Modul
Acara
Properti dan prosedur
Variabel, konstanta, dan jenis
Bekerja dengan Tipe Data Objek
Anda dapat menetapkan jenis referensi atau jenis nilai ke variabel jenis data Object
. Variabel Object
selalu menyimpan referensi ke data, tidak pernah data itu sendiri. Namun, jika Anda menetapkan jenis nilai ke Object
variabel, itu ber perilaku seolah-olah menyimpan datanya sendiri. Untuk informasi selengkapnya, lihat Tipe Data Objek.
Anda bisa mengetahui apakah variabel Object
bertindak sebagai jenis referensi atau jenis nilai dengan meneruskannya ke metode IsReference di kelas Information namespace Microsoft.VisualBasic. Information.IsReference mengembalikan True
jika konten Object
variabel mewakili jenis referensi.
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