quarta-feira, 26 de maio de 2010

Comparar datas do tipo DateTime – Sério manipulando datas (C#)

Na hora de comparar datas no C# podemos utilizar:

If (data1 > data2)
{
   //Maior
}
If (data1 < data2)
{
   //Menor
}
If (data1 == data2)
{
   //Igual
}


Mas a forma mais utilizada entre os programadores C# para manter a idéia da orientação a objeto é:



if (DateTime.Compare(data1,data2) > 0)
{
   //data1 maior que data2
}
if(DateTime.Compare(data1,data2) < 0)
{
   //data1 menor que data2
}
if(DateTime.Compare(data1,data2) = 0)
{
   //data1 igual a data2
}


Ainda não consegui nos meus testes ver ganho de performance entre as duas formas de comparação, mas fica ai registrado esta dica.

2 comentários:

  1. nao existe ganho de performance, a ultima forma utilizada para comparar datas é para garantir o encapsulamento, podendo tornar o metodo mais dinamico e seguro, e tambem por poder aproveitar o resultado da comparação para usar em outras funcoes, economisando assim linhas de codigo..

    ex:
    float diferenca = DateTime.Compare(data1,data2);
    if (diferenca > 0){
    //data1 maior que data2
    }
    if(diferenca < 0){
    //data1 menor que data2
    }
    if(diferenca = 0){
    //data1 igual a data2
    }

    ResponderExcluir
  2. Opa... Valeu a dica Juninho. Obrigado

    ResponderExcluir