SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: isc.julio.gonzalez en Miércoles 26 de Agosto de 2009, 21:50

Título: Instruccion IF
Publicado por: isc.julio.gonzalez en Miércoles 26 de Agosto de 2009, 21:50
Buenas tardes, cabe comentarles que apenas inicio en la programacion en C#, regularmente manejo asp.net y vb.net,
Mi problema es este, tengo el siguiente codigo:


public bool Comparacion(string data1, string data2, string data3, string data4)
      {
         string carro1, carro2,carro3,carro4;
         carro1 = limpiarDato(data1);
         carro2 = limpiarDato(data2);
                        carro3 = limpiarDato(data3);
                        carro4 = limpiarDato(data4);
         Item = carro1;
         if ((carro1 != carro2) && (carro2 != carro3) && (carro3 != carro4))
                if ((carro1 != ("M" + carro2)) && (carro1 != ("M" + carro3)) && (carro1 != ("M" + carro4)))
                    if ((("M" + carro1) != carro2) && (("M" + carro1) != carro3) && (("M" + carro1) != carro4))
                        if ((carro1 != ("P" + carro2)) && (carro1 != ("P" + carro3)) && (carro1 != ("P" + carro4)))
                      if ((("P" + carro1) != carro2) && (("P" + carro1) != carro3) && (("P" + carro1) != carro4))
                         if ((("M" + carro1) != ("P" + carro2)) && (("M" + carro1) != ("P" + carro3)) && (("M" + carro1) != ("P" + carro4)))
                           if ((("P" + carro1) != ("M" + carro2)) && (("P" + carro1) != ("M" + carro3)) && (("P" + carro1) != ("M" + carro4)))
            {
            return false;
            }
                 return true;   
                      }

Que quiero hacer? Tomar 4 datos, y compararlos. todos contra 'carro1' y diversas variantes que puede haber, segun yo, con este codigo con que 1 elemento no sea igual a 'carro1' (y por consiguiente a los otros dos 'carroX', deberia devolverme el valor true, y cuando sean iguales devolverme el valor false, pero siempre me devuelve false, la unica forma de que me de true, es que carro1 sea diferente a los otros 3.
Por ejemplo:
carro1=A ; carro2=B ; carro3=A ; carro4=A      ===> deberia dar True
Pero para tener true solo funciona con:
carro1=C ; carro2=A ; carro3=A ; carro4=A

Espero puedan ayudarme.
Saludos.
Título: Re: Instruccion IF
Publicado por: F_Tanori en Viernes 28 de Agosto de 2009, 13:12
No se si he entendido bien tu duda, y hace un tiempo que no uso C# pero aqui intentare darte una idea (segun lo que entendi)
a ver si te puede ayudar de algo

Segun entendi es TRUE si hay al menos uno diferente a CARRO1 , FALSE en caso de que todos sean iguales

Código: C#
  1. public bool Comparacion(string data1, string data2, string data3, string data4){
  2. string carro1, carro2,carro3,carro4;
  3. int ret=0;
  4.  
  5. carro1 = limpiarDato(data1);
  6. carro2 = limpiarDato(data2);
  7. carro3 = limpiarDato(data3);
  8. carro4 = limpiarDato(data4);
  9. Item = carro1;
  10.  
  11. if (carro1 != carro2){ ret ++;}
  12. if (carro1 != carro3){ ret ++;}
  13. if (carro1 != carro4){ ret ++;}
  14.  
  15. return !(ret=3) ;
  16. }
  17.  

Saludos