Bagikan melalui


CType Operator (Visual Basic)

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, 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. Mereka dapat memberikan performa yang agak lebih baik daripada CType saat mengonversi ke dan dari Object jenis 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.

Lihat juga