我首先要说的是我对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;
由于
答案 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,如果它不在我的记忆中明确使用。