.NET はディレクトリ内で最近変更されたファイルを効率的に検索します (ループする必要はありません)
プログラミングでは、ディレクトリ内で最近変更されたファイルを見つけるのが一般的なタスクです。すべてのファイルをループしてその変更タイムスタンプを比較することは可能ですが、このアプローチは大規模なディレクトリでは非効率的です。この記事では、ループを必要としない、より効率的な方法を紹介します。
LINQ の OrderByDescending
メソッドを使用すると、ファイルを最後に書き込まれた時刻に基づいて降順で並べ替えることができます。次のコード スニペットは、このアプローチを示しています。
<code class="language-csharp">var directory = new DirectoryInfo("C:\MyDirectory"); var myFile = (from f in directory.GetFiles() orderby f.LastWriteTime descending select f).First();</code>
あるいは、GetFiles()
で取得した IEnumerable<FileInfo>
で OrderByDescending
拡張メソッドを使用することもできます。
<code class="language-csharp">var myFile = directory.GetFiles() .OrderByDescending(f => f.LastWriteTime) .First();</code>
両方のメソッドのうち、First()
メソッドはソートされたシーケンスから最初の要素を取得し、最後に変更されたファイルを確実に取得します。
以上がループせずに .NET ディレクトリ内で最近変更されたファイルを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。