Calcular a diferença entre duas datas (número de dias)?

Vejo que esta pergunta foi respondida para Java, JavaScript, e PHP, mas não para C#. Então, como se pode calcular o número de dias entre duas datas em C#?

Solução

Assumindo que StartDate e EndDate são do tipo `DateTime':

(EndDate - StartDate).TotalDays
Comentários (11)

Use o objeto TimeSpan que é o resultado da subtração da data:

DateTime d1;
DateTime d2;
return (d1 - d2).TotalDays;
Comentários (2)

Acho que isto vai fazer o que queres:

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);

TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
Comentários (0)