Bagikan melalui


Fungsi CType (Visual Basic)

Mengembalikan hasil konversi ekspresi secara eksplisit ke jenis data, objek, struktur, kelas, atau antarmuka tertentu.

Sintaks

CType(expression, typename)

Generator

expressionEkspresi valid apa pun. Jika nilai expression berada di luar rentang yang diizinkan oleh typename, Visual Basic akan menampilkan pengecualian.

typename Ekspresi apa pun yang legal dalam klausul As dalam pernyataan Dim, yaitu, nama jenis data, objek, struktur, kelas, atau antarmuka apa pun.

Keterangan

Tip

Anda juga dapat menggunakan fungsi berikut untuk melakukan konversi jenis:

  • Fungsi konversi jenis seperti CByte, CDbl, dan CInt yang 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. Operator ini dapat memberikan performa yang agak lebih baik daripada CType saat mengonversi ke dan dari jenis data Object.

CType dikompilasi sebaris, artinya 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 saat eksekusi, pengecualian yang sesuai akan ditampilkan. Jika konversi penyempitan gagal, OverflowException adalah hasil yang paling umum. Jika konversi tidak ditentukan, InvalidCastException ditampilkan. Misalnya, ini dapat terjadi jika expression adalah jenis Object dan jenis run-time-nya tidak memiliki konversi ke typename.

Jika jenis data expression atau typename adalah kelas atau struktur yang telah ditentukan, Anda dapat menentukan CType pada kelas atau struktur tersebut sebagai operator konversi. Ini membuat CType bertindak sebagai operator yang kelebihan beban. Jika melakukan ini, Anda dapat mengontrol perilaku konversi ke dan dari kelas atau struktur Anda, termasuk pengecualian yang dapat ditampilkan.

Kata Kunci Konversi

Berikut adalah perbandingan kata kunci konversi jenis.

Kata kunci Jenis data Hubungan argumen Kegagalan run-time
CType Jenis data apa pun Konversi pelebaran atau penyempitan harus ditentukan antara dua jenis data Memberi InvalidCastException
Operator DirectCast Jenis data apa pun Satu jenis harus mewarisi dari atau mengimplementasikan jenis lainnya Memberi InvalidCastException
TryCast Jenis referensi saja Satu jenis harus mewarisi dari atau mengimplementasikan jenis lainnya Mengembalikan Nothing (Kosong)

Kelebihan beban

Operator CType juga dapat kelebihan beban pada kelas atau struktur yang ditentukan di luar kode Anda. Jika kode Anda dikonversi ke atau dari kelas atau struktur seperti itu, pastikan Anda memahami perilaku operator CType. Untuk informasi lebih lanjut, lihat Prosedur Operator.

Mengonversi Objek Dinamis

Konversi jenis objek dinamis dilakukan oleh konversi dinamis yang ditentukan pengguna yang menggunakan metode TryConvert atau BindConvert. Jika Anda menggunakan objek dinamis, gunakan metode CTypeDynamic untuk mengonversi objek dinamis.

Contoh

Contoh berikut menggunakan fungsi CType untuk mengonversi ekspresi ke jenis data Single.

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.

Lihat juga