CLR: .Net / Mono / Boo / Otros CLR > C#

 While y OR

(1/2) > >>

Serj:
Hola!

Seguro que es una tonteria de problema, pero necesito que la funcion while tenga dos condiciones, y que no se tengan que cumplir las dos a la vez, solo una o la otra.
Las condiciones son:

Rango.Value2!=null;
alarmaxux!=1;

Lo he intentado asi pero no me sale bien.

while (Rango.Value2!=null || alarmaxux!=1)
{
}

Alguien me puede ayudar?

Un saludo y gracias!

gerloxxx:
Pues yo lo veo bien, el or con uno que sea verdadero entra, la unica forma que no entrara a ese while, es cuando los dos son false

saludos

ProfesorX:
Me temo que el operador logico XOR (or exclusivo) no existe en C#. Es por eso que no obtienes el resultado que deseas.

Aunque se me ocurre que podrias simular su funcionamiento por medio de banderas. A continuacion te dejo un ejemplo de como lo podrias implementar:


--- Código: C# --- bool ban = false;if (Rango.Value2!=null){  if (alarmaxux==1)     ban = true;  else     ban = false;}else  if (alarmaxux != 1)     ban = true;  else      ban = false;// Si ban es verdadero, significa que solo se cumplio// una de las dos condicioneswhile (ban == true){// Aqui iria el codigo que quieres dentro del ciclo while// y tendrias que actualizar la bandera con el codigo// de arriba tal como lo pongoif (Rango.Value2!=null){  if (alarmaxux==1)     ban = true;  else     ban = false;}else  if (alarmaxux != 1)     ban = true;  else      ban = false;}  
Saludos :)

Serj:
Hola!

Muchas gracias a los dos.

Asi que el simbolo || es XOR???
PEnsando en mi programa, tambien podria ser OR.
Como seria el simbolo??

tannke:
cito:

--- Cita de: "Serj" ---Asi que el simbolo || es XOR???
--- Fin de la cita ---
No.
Vuelvo a citar:

--- Cita de: "ProfesorX" ---Me temo que el operador logico XOR (or exclusivo) no existe en C#. Es por eso que no obtienes el resultado que deseas.
--- Fin de la cita ---

Por lo tanto || és OR.

Otra manera de simular el XOR podria ser:


--- Código: C# --- while ((Rango.Value2 == null && alarmaxux != 1) || (Rango.Value2 != null && alarmaxux ==1 ) ){} 
un saludo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa