Array
(
)

Comparar qual variável é maior e qual menor

Pjava
   - 12 nov 2012

Há alguma forma de eu pegar 3 parâmetros de um método e comparar qual deles é o maior e qual o menor, sem usar aquele vários IF's, que fica testando uma a um? Tem como?

Moisés Gonçalves
   - 12 nov 2012

Sim, com reflection.
Mas ainda assim é meio partoso.

Robson Robsonalves.net
   - 12 nov 2012

São sempre 3 valores? são numéricos sempre?

Você pode usar Comparison http://www.dotnetperls.com/comparison

Você pode usar Int32.CompareTo() e fazer algumas operações (Caso seus parâmetros sejam int)
http://msdn.microsoft.com/en-us/library/y2ky8xsk.aspx

Pjava
   - 12 nov 2012

Ficou meio confuso. Vamos explicar melhor:

private int qq(int a,int b,int c)
{
Se um deles for maior, entao
If(maior % 2 == 0)
messagebox.show("é par")
else
messagebox.show("é impar");
}

Agora preciso saber qual das tres variáveis é a maior e qual é a menor. Pelo que eu vi, não há como comparar 3 valores, certo? Terei que fazer dois a dois e aí entra aquele IF's todos, na comparação, certo?

Robson Robsonalves.net
   - 12 nov 2012

Perfeitamente.

Outro forma que eu tenho certeza que vc vai adorar e eu lembrei a pouco.

Depois:

#Código

    var listaInteiros = new List<int>();
            listaInteiros.Add(10);
            listaInteiros.Add(11);
            listaInteiros.Add(9);
            listaInteiros.Add(45);

            Console.WriteLine(listaInteiros.Max());
            Console.WriteLine(listaInteiros.Min());
            Console.ReadLine();


Output: 45 e 9

Abraços