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