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.
Mengembalikan hasil konversi ekspresi secara eksplisit ke tipe data, objek, struktur, kelas, atau antarmuka tertentu.
Syntax
CType(expression, typename)
Bagian
expression Ekspresi apa pun yang valid. Jika nilai expression berada di luar rentang yang diizinkan oleh typename, Visual Basic melemparkan pengecualian.
typename Ekspresi apa pun yang legal dalam klausul As dalam Dim pernyataan, yaitu, nama jenis data, objek, struktur, kelas, atau antarmuka apa pun.
Komentar
Tip
Anda juga dapat menggunakan fungsi berikut untuk melakukan konversi jenis:
- Ketik fungsi konversi seperti
CByte,CDbl, danCIntyang melakukan konversi ke jenis data tertentu. Untuk informasi selengkapnya, lihat Fungsi Konversi Jenis. -
Operator DirectCast atau Operator TryCast. Operator ini mengharuskan satu jenis mewarisi dari atau mengimplementasikan jenis lainnya. Mereka dapat memberikan performa yang agak lebih baik daripada
CTypesaat mengonversi ke dan dariObjectjenis data.
CType dikompilasi sebaris, yang berarti bahwa kode konversi adalah bagian dari kode yang mengevaluasi ekspresi. Dalam beberapa kasus, kode berjalan lebih cepat karena tidak ada prosedur yang dipanggil untuk melakukan konversi.
Jika tidak ada konversi yang ditentukan dari expression ke typename (misalnya, dari Integer ke Date), Visual Basic menampilkan pesan kesalahan waktu kompilasi.
Jika konversi gagal pada waktu proses, pengecualian yang sesuai akan dilemparkan. Jika konversi yang dipersempit gagal, adalah OverflowException hasil yang paling umum. Jika konversi tidak ditentukan, dilemparkan InvalidCastException . Misalnya, ini dapat terjadi jika expression berjenis Object dan jenis run-time-nya tidak memiliki konversi ke typename.
Jika jenis expression data atau typename adalah kelas atau struktur yang telah Anda tentukan, Anda dapat menentukan CType kelas atau struktur tersebut sebagai operator konversi. Ini membuat CType bertindak sebagai operator yang kelebihan beban. Jika Anda melakukan ini, Anda dapat mengontrol perilaku konversi ke dan dari kelas atau struktur Anda, termasuk pengecualian yang dapat dilemparkan.
Kata Kunci Konversi
Perbandingan kata kunci konversi jenis adalah sebagai berikut.
| Keyword | Jenis data | Hubungan argumen | Kegagalan run-time |
|---|---|---|---|
CType |
Jenis data apa pun | Melebarkan atau mempersempit konversi harus didefinisikan di antara dua jenis data | Melempar InvalidCastException |
| DirectCast Operator | Jenis data apa pun | Satu jenis harus mewarisi dari atau mengimplementasikan jenis lainnya | Melempar InvalidCastException |
| TryCast | Jenis referensi saja | Satu jenis harus mewarisi dari atau mengimplementasikan jenis lainnya | Tidak Mengembalikan Apa-apa |
Overloading
Operator CType juga dapat kelebihan beban pada kelas atau struktur yang ditentukan di luar kode Anda. Jika kode Anda mengonversi ke atau dari kelas atau struktur seperti itu, pastikan Anda memahami perilaku operatornya CType . Untuk informasi selengkapnya, lihat Prosedur Operator.
Mengonversi Objek Dinamis
Konversi jenis objek dinamis dilakukan oleh konversi dinamis yang ditentukan pengguna yang menggunakan TryConvert metode atau BindConvert . Jika Anda bekerja dengan objek dinamis, gunakan CTypeDynamic metode untuk mengonversi objek dinamis.
Example
Contoh berikut menggunakan CType operator untuk mengonversi ekspresi ke Single jenis data.
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)
Untuk contoh tambahan, lihat Konversi Implisit dan Eksplisit.