如何使用LINQ和C#从3个不同的文件中查找最早的日期?

时间:2012-10-19 21:17:31

标签: c# linq

  

可能重复:
  How to Select Min and Max date values in Linq Query

我首先要说的是我对LINQ的经验非常有限。我一直在使用嵌套的if语句来查找最旧的3个文件,它工作得很好。但我正在努力扩大我对新技术的使用。我读到的关于LINQ的很多内容都很快就超出了我的想法。特别是当他们开始使用lambda的时候。所以我可以获得3个文件日期但是如何使用LINQ获取其中最老的?或者甚至可能吗?我有下面的psudo代码。

        DateTime file1 = File.GetLastWriteTime(@"c:\test1.txt");
        DateTime file2 = File.GetLastWriteTime(@"c:\test2.txt");
        DateTime file3 = File.GetLastWriteTime(@"c:\test3.txt");

        DateTime[] dates = { file1, file2, file3 };

        var date = from d in dates
                   where d is oldest date
                   select d;

由于

4 个答案:

答案 0 :(得分:8)

var result = dates.Min();

就是你所需要的一切。

答案 1 :(得分:4)

使用Min。像这样排序:

var oldestdate = (from d in dates
                   select d).Min();

答案 2 :(得分:4)

DateTime oldest = dates.Min();

答案 3 :(得分:1)

没有任何IDE方便,但我认为您可以使用扩展方法dates.Min()

您可能需要包含System.Linq,如果它不在我的记忆中明确使用。