2

重複の可能性:
Linq クエリで日付の最小値と最大値を選択する方法

まず、私の LINQ の経験は非常に限られていると言うことから始めましょう。ネストされた if ステートメントを使用して、最も古い 3 つのファイルを見つけましたが、問題なく動作します。しかし、私は新しいテクノロジーの使用を拡大しようとしています。LINQ について読んだことの多くは、すぐに理解できなくなります。特に彼らがラムダを使い始めたとき。3 つのファイルの日付を取得できますが、LINQ を使用して最も古いものを取得するにはどうすればよいですか? それとも可能ですか?以下の疑似コードがあります。

        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

4 に答える 4

8
var result = dates.Min();

は、あなたが必要とすることすべてです。

于 2012-10-19T21:21:42.937 に答える
4

を使用しMinます。このようなSorta:

var oldestdate = (from d in dates
                   select d).Min();
于 2012-10-19T21:19:14.953 に答える
4
DateTime oldest = dates.Min();
于 2012-10-19T21:21:07.583 に答える
1

便利なIDEはありませんが、拡張メソッドを使用できると思いますdates.Min()か?

私が覚えていることから明示的に使用されていない場合は、System.Linqを含める必要があるかもしれません。

于 2012-10-19T21:21:22.020 に答える