Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Sebuah konversi implisit tidak memerlukan sintaks khusus dalam kode sumber. Dalam contoh berikut, Visual Basic secara implisit mengonversi nilai k
menjadi nilai floating-point presisi tunggal sebelum menetapkannya ke q
.
Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict On.
k = 432
q = k
Konversi eksplisit menggunakan kata kunci konversi jenis. Visual Basic menyediakan beberapa kata kunci tersebut, yang memaksa ekspresi dalam tanda kurung ke jenis data yang diinginkan. Kata kunci ini bertindak seperti fungsi, tetapi pengompilasi menghasilkan kode sebaris, sehingga eksekusi sedikit lebih cepat daripada dengan pemanggilan fungsi.
Dalam ekstensi contoh sebelumnya berikut, kata kunci CInt
mengonversi nilai q
kembali ke bilangan bulat sebelum menetapkannya ke k
.
' q had been assigned the value 432 from k.
q = Math.Sqrt(q)
k = CInt(q)
' k now has the value 21 (rounded square root of 432).
Tabel berikut menunjukkan kata kunci konversi yang tersedia.
Ketik kata kunci konversi | Mengonversi ekspresi menjadi jenis data | Jenis ekspresi data yang diizinkan untuk dikonversi |
---|---|---|
CBool |
Jenis Data Boolean | Jenis numerik apa pun (termasuk Byte , SByte , dan tipe terbilang), String , Object |
CByte |
Jenis Data Byte | Jenis numerik apa pun (termasuk SByte dan tipe terbilang), Boolean , String , Object |
CChar |
Jenis Data Karakter | String , Object |
CDate |
Jenis Data Tanggal | String , Object |
CDbl |
Jenis Data Ganda | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CDec |
Jenis Data Desimal | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CInt |
Jenis Data Bilangan Bulat | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CLng |
Jenis Data Panjang | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CObj |
Jenis Data Objek | Jenis apa pun |
CSByte |
Jenis Data SByte | Jenis numerik apa pun (termasuk Byte dan tipe terbilang), Boolean , String , Object |
CShort |
Jenis Data Pendek | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CSng |
Jenis Data Tunggal | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CStr |
Jenis Data String | Jenis numerik apa pun (termasuk Byte , SByte , dan tipe terbilang), Boolean , Char , larikChar , Date , Object |
CType |
Jenis yang ditentukan setelah koma (, ) |
Saat mengonversi ke jenis data elementary (termasuk larik dari jenis elementary), jenis yang sama seperti yang diizinkan untuk kata kunci konversi yang sesuai Saat mengonversi ke jenis data komposit, antarmuka yang diterapkannya dan kelas tempatnya mewarisi Saat mengonversi ke kelas atau struktur tempat Anda kelebihan beban CType , kelas atau struktur tersebut |
CUInt |
Jenis Data UInteger | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CULng |
Jenis Data ULong | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
CUShort |
Jenis Data UShort | Semua jenis numerik (termasuk Byte , SByte , dan tipe terbilang), Boolean , String , Object |
Fungsi CType beroperasi pada dua argumen. Yang pertama adalah ekspresi yang akan dikonversi, dan yang kedua adalah jenis data tujuan atau kelas objek. Perhatikan bahwa argumen pertama harus berupa ekspresi, bukan jenis.
CType
adalah fungsi sebaris, yang berarti kode yang dikompilasi membuat konversi, sering kali tanpa menghasilkan panggilan fungsi. Ini meningkatkan performa.
Untuk perbandingan CType
dengan kata kunci konversi jenis lainnya, lihat Operator DirectCast dan Operator TryCast.
Contoh berikut menunjukkan penggunaan CType
.
k = CType(q, Integer)
' The following statement coerces w to the specific object class Label.
f = CType(w, Label)
Anda dapat menggunakan CType
untuk mengonversi nilai ke jenis data komposit serta ke jenis dasar. Anda juga dapat menggunakannya untuk memaksa kelas objek ke jenis salah satu antarmukanya, seperti dalam contoh berikut.
' Assume class cZone implements interface iZone.
Dim h As Object
' The first argument to CType must be an expression, not a type.
Dim cZ As cZone
' The following statement coerces a cZone object to its interface iZone.
h = CType(cZ, iZone)
CType
juga dapat mengonversi jenis data larik, seperti pada contoh berikut.
Dim v() As classV
Dim obArray() As Object
' Assume some object array has been assigned to obArray.
' Check for run-time type compatibility.
If TypeOf obArray Is classV()
' obArray can be converted to classV.
v = CType(obArray, classV())
End If
Untuk informasi selengkapnya dan contohnya, lihat Konversi Larik.
Anda dapat menentukan CType
pada kelas atau struktur yang telah Anda tentukan. Ini memungkinkan Anda untuk mengonversi nilai ke dan dari jenis kelas atau struktur Anda. Untuk informasi selengkapnya dan contohnya, lihat Cara: Menentukan Operator Konversi.
Catatan
Nilai yang digunakan dengan kata kunci konversi harus valid untuk jenis data tujuan, atau terjadi kesalahan. Misalnya, jika Anda mencoba mengonversi Long
menjadi Integer
, nilai Long
harus berada dalam rentang yang valid untuk jenis data Integer
.
Perhatian
Menentukan CType
untuk mengonversi dari satu jenis kelas ke jenis lain gagal pada durasi jika jenis sumber tidak berasal dari jenis tujuan. Kegagalan seperti itu melemparkan pengecualian InvalidCastException.
Namun, jika salah satu jenisnya adalah struktur atau kelas yang telah Anda tetapkan, dan jika Anda telah menetapkan CType
pada struktur atau kelas tersebut, konversi dapat berhasil jika memenuhi persyaratan CType
Anda. Lihat Cara: Menentukan Operator Konversi.
Melakukan konversi eksplisit juga dikenal sebagai transmisi ekspresi ke jenis data atau kelas objek tertentu.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangPelatihan
Modul
Mengonversi tipe data menggunakan teknik casting dan konversi di C# - Training
Jelajahi menggunakan teknik C# untuk pemeran dan konversi.
Dokumentasi
Cara: Mengonversi Objek ke Tipe Lain - Visual Basic
Pelajari selengkapnya tentang: Cara untuk: Mengonversi Objek ke Jenis Lain di Visual Basic
Fungsi Konversi Jenis - Visual Basic
Pelajari selengkapnya tentang: Fungsi Konversi Jenis (Visual Basic)
Pelajari selengkapnya tentang: Fungsi CType (Visual Basic)