一千萬個為什麽

搜索

使用LINQ查找數組中的最小和最大日期?

我有一個類的數組,其屬性為 Date ,即:

class Record
{
    public DateTime Date { get; private set; }
}

void Summarize(Record[] arr)
{
    foreach (var r in arr)
    {
       //do stuff 
    }
}

我必須在此數組中找到最早(最小)和最新(最大)日期。

我怎麽能用LINQ做到這一點?

最佳答案

如果您想找到最早或最晚的日期:

DateTime earliest = arr.Min(record => record.Date);
DateTime latest   = arr.Max(record => record.Date);

Enumerable.Min, Enumerable.Max


如果要查找最早或最晚日期的記錄:

Record earliest = arr.MinBy(record => record.Date);
Record latest   = arr.MaxBy(record => record.Date);

See: How to use LINQ to select object with minimum or maximum property value

轉載註明原文: 使用LINQ查找數組中的最小和最大日期?