aGrAdEcEr Es CoMpArTiR... CoMpArTe Lo QuE tE gUsTó A TuS ReDeS SoCiALeS... Twitter, Google+ y Facebook.

Thursday, October 28, 2010

¿CuáL eS La DiFeReNciA EntRe DiReCT CaST y CTyPe?

DirectCast vs CType

CType puede convertir un tipo de dato diferente del indicado siempre y cuando esto sea posible. (Por ejemplo, de Double a Integer)

DirectCast al contrario no, por ejemplo de Double a Integer daría un error ya que Double no es del tipo Integer. Por tanto, si se sabe que el objeto a convertir debería ser del mismo tipo que el objeto una vez convertido, se recomiendo usar DirectCast.

A continuación, dejo algunos ejemplos que aclaran la situación.

Dim obj As Object = 1 ' obj contiene un entero
Dim str As String = CType(obj, String) ' Valido, CType convierte a
String
Dim entero As Integer = CType(obj, Integer) ' Valido, CType hace un cast a
Integer
Dim str1 As String = DirectCast(obj, String) ' Error, obj no contiene un
String
Dim entero1 As Integer = DirectCast(obj, Integer) ' Valido, obj contiene un
Integer

No comments:

Post a Comment