miércoles, 1 de agosto de 2012

Diferencias entre usar el int.parse o convert.int32 ¿Cuál es mejor?

Al hacer nuestros programas  en C# tenemos la necesidad de realizar conversiones entre los diferentes tipos de formatos. Una de las conversiones más comunes que necesitamos realizar es la convertir una cadena de texto (obtenida de una lectura en console o en textbox) a un número, en este caso un entero.

Para hacer esta conversión disponemos de 2 formas de hacerlo, usadas indiscriminadamente por los programadores, la primera es usar el consabido int.parse(string); y la otra usar Convert.int32(string);

De ahí viene la duda que se plantea en esta ocasión, si ambos sirven para convertir una cadena de texto en entero, ¿da lo mismo cuál usemos, o existe una que sea mejor que la otra?.

Contestemos ess preguntas:



Puede parecer que son lo mismo, pero no lo son en realidad, por lo menos no exactamente.

Ambas funciones transforman un objeto en un int, la diferencia estriba en su reacción cuando reciben un nulo, es decir un textbox vacio o un console que solo se apretó enter sin introducir nada primero:

  •  int.parse nos devolverá una  excepción de que estamos recibiendo un dato nulo, lo cual es bueno porque no maneja un dato erroneo, pero malo porque si no la controlamos nos hecha a perder el software.

  •  Convert.Int32 nos transformará ese dato nulo a 0(cero), evitando la excepción, lo cual es bueno porque no detiene la ejecución de nuestro programa, pero malo porque en algún momento ese cero que se generó no podría acarrear datos erroneos, como por ejemplo en un promedio.


Como pueden ver ultimadamente ninguno es mejor o peor que otro son solo dos formas diferentes de hacer lo mismo y siempre y cuando cuidemos lo que hoy hemos aprendido, ambas formas funcionarán a la perfección en nuestros programas.

 

Eso es todo por hoy, si te gustó o te fué de ayuda no dudes en compartirlo.

Nos leemos luego!!!!!!

2 comentarios: