En primer lugar, la conversión es muy diferente de convertir un objeto en una cadena. Casting no convierte un objeto en nada, solo asume otro tipo, mientras que ToString realmente crea una cadena a partir de un objeto (por supuesto, esto puede ser no-operativo si el objeto ya es una cadena).
Hay dos operaciones de fundición por el motivo explicado por Arseny: El operador as
devolverá una referencia nula mientras que el operador ()
generará una excepción si el molde no es posible.
Hay dos métodos ToString, como obj.ToString()
por supuesto, solo funciona si obj
es realmente un objeto y no por ejemplo un int.Para el caso posterior, debe usar Convert.ToString()
. Del mismo modo, cuando obj
es null
, entonces obj.ToString()
elevará una excepción, mientras que Convert.ToString()
puede volver alguna cadena sensible (por ejemplo "null"
).
Ser capaz de hacer las cosas de muchas maneras, no es el daño. Es un recurso poderoso. Al igual que en los idiomas hablados: puede expresarse de varias maneras (que pueden tener pequeñas diferencias de matices). –