2008-11-08

Directcast/Ctype



  • DirectCast ile CType aynı şeyler değildir.

  • DirectCast VB rutinlerini kullamazken;CType VB rutinlerini kullanır.( Referans:MSDN )

  • DirectCast ile ilkel(primitive) tiplerin dönüşümü yapılamaz(Örneğin Int32 -> String; String->Decimal)

    Eğer DirectCast ile kasarım diyorsanız:


    dim nesne as Object = 1

    dim sayi as Int32 = DirectCast(nesne,Int32)


    şeklinde kullanılabilir.



  • Eğer kalıtım(Inheritance) tabanlı bir dönüşüm yapıyorsanız DirectCast tavsiye olunur.

  • Her iki dönüşümde hata halinde InvalidCastException hatası döndürür.Eğer hata oluşmasın ve Boş değer(Nothing) döndürsün istiyorsanız TryCast metodunu deneyiniz.

  • DirectCast nesne dönüşümlerinde(casting) Ctype göre daha hızlıdır.