CType İşlevi (Visual Basic)
Bir ifadeyi açıkça belirtilen veri türüne, nesneye, yapıya, sınıfa veya arabirime dönüştürmenin sonucunu döndürür.
Sözdizimi
CType(expression, typename)
Parça
expression
Herhangi bir geçerli ifade. değeri expression
tarafından typename
izin verilen aralığın dışındaysa Visual Basic bir özel durum oluşturur.
typename
Deyimindeki bir As
yan tümce içinde yasal olan herhangi bir ifade, yani herhangi bir Dim
veri türünün, nesnenin, yapının, sınıfın veya arabirimin adı.
Açıklamalar
İpucu
Tür dönüştürmesi gerçekleştirmek için aşağıdaki işlevleri de kullanabilirsiniz:
- Belirli bir veri türüne dönüştürme gerçekleştiren ,
CDbl
veCInt
gibiCByte
tür dönüştürme işlevleri. Daha fazla bilgi için bkz . Tür Dönüştürme İşlevleri. - DirectCast İşleci veya TryCast İşleci. Bu işleçler, bir türün diğer türden devralmasını veya diğer türü uygulamasını gerektirir. Veri türüne ve veri türünden
Object
dönüştürmeye göreCType
biraz daha iyi performans sağlayabilirler.
CType
satır içinde derlendiğinden, dönüştürme kodu ifadeyi değerlendiren kodun bir parçasıdır. Bazı durumlarda, dönüştürmeyi gerçekleştirmek için hiçbir yordam çağrılmadığından kod daha hızlı çalışır.
ile expression
typename
arasında hiçbir dönüştürme tanımlanmamışsa (örneğin, öğesinden Integer
Date
) Visual Basic bir derleme zamanı hata iletisi görüntüler.
Bir dönüştürme çalışma zamanında başarısız olursa, uygun özel durum oluşturulur. Daraltma dönüştürmesi başarısız olursa, en yaygın sonuç bir OverflowException olur. Dönüştürme tanımlanmamışsa, içinde bir InvalidCastException oluşturulur. Örneğin, türündeyse expression
Object
ve çalışma zamanı türünde dönüştürme yoksa typename
bu durum oluşabilir.
veya typename
veri türü expression
tanımladığınız bir sınıf veya yapıysa, bu sınıf veya yapıyı dönüştürme işleci olarak tanımlayabilirsinizCType
. Bu, aşırı yüklenmiş bir işleç olarak davranmayı sağlarCType
. Bunu yaparsanız, oluşturulabilecek özel durumlar da dahil olmak üzere sınıfınıza veya yapınıza dönüştürmelerin davranışını denetleyebilirsiniz.
Dönüşüm Anahtar Sözcükleri
Tür dönüştürme anahtar sözcüklerinin karşılaştırması aşağıdaki gibidir.
Anahtar sözcük | Veri türleri | Bağımsız değişken ilişkisi | Çalışma zamanı hatası |
---|---|---|---|
CType |
Herhangi bir veri türü | Genişletme veya daraltma dönüştürmesi iki veri türü arasında tanımlanmalıdır | Atar InvalidCastException |
DirectCast İşleci | Herhangi bir veri türü | Bir türün diğer türden devralması veya diğer türü uygulaması gerekir | Atar InvalidCastException |
Trycast | Yalnızca başvuru türleri | Bir türün diğer türden devralması veya diğer türü uygulaması gerekir | Hiçbir Şey Döndürmez |
Aşırı Yükleme
İşleç CType
, kodunuzun dışında tanımlanan bir sınıf veya yapı üzerinde de aşırı yüklenebilir. Kodunuz böyle bir sınıfa veya yapıya dönüştürüyorsa, işlecinin davranışını anladığınızdan CType
emin olun. Daha fazla bilgi için bkz . İşleç Yordamları.
Dinamik Nesneleri Dönüştürme
Dinamik nesnelerin tür dönüştürmeleri, veya BindConvert yöntemlerini kullanan TryConvert kullanıcı tanımlı dinamik dönüştürmeler tarafından gerçekleştirilir. Dinamik nesnelerle çalışıyorsanız, yöntemini kullanarak CTypeDynamic dinamik nesneyi dönüştürün.
Örnek
Aşağıdaki örnek, bir ifadeyi CType
veri türüne dönüştürmek için Single
işlevini kullanır.
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)
Ek örnekler için bkz . Örtük ve Açık Dönüştürmeler.