Por que es mejor la siguiente instrucción

04/01/2005 - 16:32 por Angello Peña | Informe spam
Hola, quisiera que me aclaren lo siguiente:

por que? en vb.net

Sentencia A

dim Nom as string
Nom = ObtenerNombre()

es mejor que de la siguiente manera

Sentencia B
dim Nom as string = ObtenerNombre()

no se supone que este ultimo es una manera mas corta,
pero me han sugerido hacerlo de la forma como esta en la
Sentecia A.

Quisiera que me puedan aclarar el ¿por que?

Gracias

Preguntas similare

Leer las respuestas

#1 Pedro Luna Montalvo
04/01/2005 - 17:05 | Informe spam
Saludos,

Ambas formas son funcionalmente equivalentes, y si revisas el codigo IL que
generan ambas, vas a ver que no existe ningun efecto en el rendimiento pues
ambas se compilan en las mismas sentencias.

El unico asunto que podria determinar cual de las dos alternativas usar es
la estetica.
Muchas veces incluir la declaracion de la variable y la asignacion,
dependiendo del valor a asignar, puede resultar muy largo para hacerlo en
una unica linea.

Asi, que es tu decision solamente. Yo por mi lado, uso indistintamente ambos
segun el caso, siempre asegurandome que la legibilidad y la estetica del
codigo no se vea afectada.

Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu
Respuesta Responder a este mensaje
#2 Leonardo Azpurua
04/01/2005 - 17:26 | Informe spam
"Angello Peña" escribió en el mensaje
news:041c01c4f272$a6890e50$
Hola, quisiera que me aclaren lo siguiente:

por que? en vb.net

Sentencia A

dim Nom as string
Nom = ObtenerNombre()

es mejor que de la siguiente manera

Sentencia B
dim Nom as string = ObtenerNombre()

no se supone que este ultimo es una manera mas corta,
pero me han sugerido hacerlo de la forma como esta en la
Sentecia A.

Quisiera que me puedan aclarar el ¿por que?
=
Hola, Angello:

Las dos formas son absolutamente equivalentes.

De hecho, yo prefiero la B siempre que es posible.

Sin embargo, hay casos en los cuales no es posible. Por ejemplo, si
ObtenerNombre puede disparar una excepcion tal vez sea necesario llamarla
dentro de un bloque Try/Catch.

Pero si declaras Nom dentro del bloque:
Try
Dim Nom As String = ObtenerNombre()
Catch ex As Exception
...
End Try

no estará disponible para el resto de la funcion.

Es decir, hay escenarios (raros) en los cuales la forma B no es posible.
Solo en esos casos utilizo la forma A. Otra justificacion para la forma A es
cuando cobras por lineas de código :-)

Salud!
Respuesta Responder a este mensaje
#3 Pedro Luna Montalvo
04/01/2005 - 19:23 | Informe spam
Otra justificacion para la forma A es cuando cobras por lineas de código


:-)

Jajaja.este argumento me parece uno de los mas imbatibles que he leido.
:)

Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu
Respuesta Responder a este mensaje
#4 Leonardo Azpurua
04/01/2005 - 19:58 | Informe spam
"Pedro Luna Montalvo" escribió en el
mensaje news:
Otra justificacion para la forma A es cuando cobras por lineas de código


:-)

Jajaja.este argumento me parece uno de los mas imbatibles que he
leido.
:)



¿A que sí? :-))
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida