.NET を使用してディレクトリ内の最新のファイルを効率的に検索する
多くのプログラミング タスクでは、指定されたディレクトリ内で最後に変更されたファイルを見つける必要があります。 File.GetLastWriteTime
を使用して各ファイルを反復処理し、タイムスタンプを比較するのは簡単な方法ですが、大きなディレクトリの場合は非効率的です。 .NET は、LINQ を使用したより合理化されたソリューションを提供します。
<code class="language-csharp">var directory = new DirectoryInfo("C:\MyDirectory"); var mostRecentFile = (from f in directory.GetFiles() orderby f.LastWriteTime descending select f).First(); // Alternatively... var mostRecentFile = directory.GetFiles() .OrderByDescending(f => f.LastWriteTime) .First();</code>
このコードは、LINQ の OrderByDescending
を使用して、LastWriteTime
プロパティによってファイルを降順に並べ替えます。 First()
は、最初の (最新の) ファイルを選択します。
この LINQ アプローチは、手動ループよりも大幅に高速です。 .NET の最適化された並べ替えアルゴリズムは、明示的な反復を行わずに最新のファイルを見つけるための非常に効率的な方法を提供します。
以上が.NET でループせずにディレクトリ内の最新のファイルを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。