2016-02-29 41 views
0

我有三個日期發現從多個日期

DateTime date1 = st.UpdatedDate; 
DateTimed date2 = cl.updatedDate; 
DateTime date3 = d.UpdatedDate; 

我比較和尋找最新的日期如下最新日期...

if (date1 > date2 && date1 > date3) 
    latestDate = date1; 
else if (date2 > date1 && date2 > date3) 
    latestDate = date2 ; 
else 
    latestDate = date3; 

我想知道,想問問有沒有建在可以比較多個日期並告訴我最佳日期的方法中?

回答

4

LinqEnumerable.Max應該可以幫助你在這種情況下

DateTime result = new[] { date1, date2, date3 }.Max(); 
+0

似乎比我所做的要好得多。讓我檢查 – immirza

0

如果你有兩個日期,再有就是在C#中的內置功能

DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0); 
     DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0); 
     int result = DateTime.Compare(date1, date2); 
     string relationship; 

     if (result < 0) 
     relationship = "is earlier than"; 
     else if (result == 0) 
     relationship = "is the same time as";   
     else 
     relationship = "is later than"; 

     Console.WriteLine("{0} {1} {2}", date1, relationship, date2); 
+1

@fubo答案是最好的去它,謝謝 –

0

如果你不想使用Enumerable

var max = date1; 
    if (date2 > max) max = date2; 
    if (date3 > max) max = date3; 
... 

但我不建議去 這條路。

0

榮幸地提到Enumerable.OrderByDescending(date => date).First()(或OrderBy().Last())。不僅僅是需要,而且在某些情況下它是必需的,而且它非常相關!