Diferencia entre "" y Nothing en un String

20/08/2004 - 12:49 por 44r0x0r44 | Informe spam
Cuand leo lineas de un StreamReader me baso en que el
método ReadLine devuelva Nothing para saber que he llegado
al final del archivo pero resulta que si leo una línea que
solo tiene un retorno de carro, el retorno de carro es
eliminado y el valor devuelto por ReadLine es "" que según
el libro "Programación en Microsoft® Windows® con
Microsoft® Visual Basic® .NET de Charles Petzold" es
diferente de Nothing, pero si miramos esto:

If "" <> Nothing Then
MessageBox("No es igual","Verificacion")
Else
MessageBox("Es igual","Verificacion")
End If

¡¡Veremos que en nuestra pantalla tendremos un cuadro de
mensaje que nos indicara que "" y Nothing son absolutamente
iguales!!

¿que otro metodo tengo para saber que he leido todas las
lineas que necesito sin preocuparme por las lineas vacias?

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
20/08/2004 - 13:37 | Informe spam
Hola, Paper:

El problema es que no debes comparar la igualdad con Nothing (es decir x Nothing normalmente no es correcto) sino la nulidad de la referencia
(mediante el operador Is Nothing:).

Si escribes Console.WriteLine("" Is Nothing) obtendrás False

De manera que Nothing y "" (String vacío) son dos cosas definitivamente
diferentes: confía en Petzold y en la documentación.

Salud!

Leonardo
"44r0x0r44" escribió en el mensaje
news:2a0f01c486a3$5045a7f0$
Cuand leo lineas de un StreamReader me baso en que el
método ReadLine devuelva Nothing para saber que he llegado
al final del archivo pero resulta que si leo una línea que
solo tiene un retorno de carro, el retorno de carro es
eliminado y el valor devuelto por ReadLine es "" que según
el libro "Programación en Microsoft® Windows® con
Microsoft® Visual Basic® .NET de Charles Petzold" es
diferente de Nothing, pero si miramos esto:

If "" <> Nothing Then
MessageBox("No es igual","Verificacion")
Else
MessageBox("Es igual","Verificacion")
End If

¡¡Veremos que en nuestra pantalla tendremos un cuadro de
mensaje que nos indicara que "" y Nothing son absolutamente
iguales!!

¿que otro metodo tengo para saber que he leido todas las
lineas que necesito sin preocuparme por las lineas vacias?
Respuesta Responder a este mensaje
#2 Juan Carlos
20/08/2004 - 17:02 | Informe spam
Aunque anteriormente tu me diste una respuesta no muy
acertada y que no me aporto nada a mi causa no importa

Yo personalmente utilizo el metodo peek del streamreader
para saber cuando llego al final del archivo

While sr.peek >-1
recorra archivo
end while

espero que te sirva

Cuand leo lineas de un StreamReader me baso en que el
método ReadLine devuelva Nothing para saber que he


llegado
al final del archivo pero resulta que si leo una línea


que
solo tiene un retorno de carro, el retorno de carro es
eliminado y el valor devuelto por ReadLine es "" que


según
el libro "Programación en Microsoft® Windows® con
Microsoft® Visual Basic® .NET de Charles Petzold" es
diferente de Nothing, pero si miramos esto:

If "" <> Nothing Then
MessageBox("No es igual","Verificacion")
Else
MessageBox("Es igual","Verificacion")
End If

¡¡Veremos que en nuestra pantalla tendremos un cuadro de
mensaje que nos indicara que "" y Nothing son


absolutamente
iguales!!

¿que otro metodo tengo para saber que he leido todas las
lineas que necesito sin preocuparme por las lineas


vacias?
.

Respuesta Responder a este mensaje
#3 44r0x0r44
22/08/2004 - 01:58 | Informe spam
Aunque anteriormente tu me diste una respuesta no muy
acertada y que no me aporto nada a mi causa no importa

Yo personalmente utilizo el metodo peek del streamreader
para saber cuando llego al final del archivo

While sr.peek >-1
recorra archivo
end while

espero que te sirva

Cuand leo lineas de un StreamReader me baso en que el
método ReadLine devuelva Nothing para saber que he


llegado
al final del archivo pero resulta que si leo una línea


que
solo tiene un retorno de carro, el retorno de carro es
eliminado y el valor devuelto por ReadLine es "" que


según
el libro "Programación en Microsoft® Windows® con
Microsoft® Visual Basic® .NET de Charles Petzold" es
diferente de Nothing, pero si miramos esto:

If "" <> Nothing Then
MessageBox("No es igual","Verificacion")
Else
MessageBox("Es igual","Verificacion")
End If

¡¡Veremos que en nuestra pantalla tendremos un cuadro de
mensaje que nos indicara que "" y Nothing son


absolutamente
iguales!!

¿que otro metodo tengo para saber que he leido todas las
lineas que necesito sin preocuparme por las lineas


vacias?
.





1.- Gracias Juan Carlos, provado y aprovado.
2.- ¿En que intente ayudarte y no acerté ni de lejos?, mi
idea era ayudar y en el momento en que escribí seguramente
me pareció buena idea.

Aunque anteriormente tu me diste una respuesta no muy
acertada y que no me aporto nada a mi causa no importa


Creo que el espiritu de los newsgroups no es ayudar a los
demás SOLO por que te hayan ayudado sinó porque crees que
puedes aportar algo, ¿no? ;)
Respuesta Responder a este mensaje
#4 Anonimo
22/08/2004 - 02:00 | Informe spam
Hola, Paper:

El problema es que no debes comparar la igualdad con


Nothing (es decir x >Nothing normalmente no es correcto) sino la nulidad de la
referencia
(mediante el operador Is Nothing:).

Si escribes Console.WriteLine("" Is Nothing) obtendrás False

De manera que Nothing y "" (String vacío) son dos cosas


definitivamente
diferentes: confía en Petzold y en la documentación.

Salud!

Leonardo
"44r0x0r44" escribió en el


mensaje
news:2a0f01c486a3$5045a7f0$
Cuand leo lineas de un StreamReader me baso en que el
método ReadLine devuelva Nothing para saber que he llegado
al final del archivo pero resulta que si leo una línea que
solo tiene un retorno de carro, el retorno de carro es
eliminado y el valor devuelto por ReadLine es "" que según
el libro "Programación en Microsoft® Windows® con
Microsoft® Visual Basic® .NET de Charles Petzold" es
diferente de Nothing, pero si miramos esto:

If "" <> Nothing Then
MessageBox("No es igual","Verificacion")
Else
MessageBox("Es igual","Verificacion")
End If

¡¡Veremos que en nuestra pantalla tendremos un cuadro de
mensaje que nos indicara que "" y Nothing son absolutamente
iguales!!

¿que otro metodo tengo para saber que he leido todas las
lineas que necesito sin preocuparme por las lineas vacias?




Oops! parece que es cierto, perdona mi falta de fe en James ;)

PD: Muchas gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida