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 typenameizin 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 , CDblve CInt gibi CBytetü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öre CType 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 expressiontypename arasında hiçbir dönüştürme tanımlanmamışsa (örneğin, öğesinden IntegerDate) 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 expressionObject ve çalışma zamanı türünde dönüştürme yoksa typenamebu 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.

Ayrıca bkz.