.NET sucht effizient nach kürzlich geänderten Dateien in einem Verzeichnis (keine Schleife erforderlich)
Beim Programmieren ist das Auffinden kürzlich geänderter Dateien in einem Verzeichnis eine häufige Aufgabe. Es ist zwar möglich, alle Dateien zu durchlaufen und ihre Änderungszeitstempel zu vergleichen, dieser Ansatz ist jedoch für große Verzeichnisse ineffizient. In diesem Artikel wird eine effizientere Methode vorgestellt, die keine Schleife erfordert.
Mit der OrderByDescending
-Methode von LINQ können wir Dateien in absteigender Reihenfolge basierend auf ihrem letzten Schreibzeitpunkt sortieren. Der folgende Codeausschnitt demonstriert diesen Ansatz:
<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>
Alternativ können wir die GetFiles()
-Erweiterungsmethode für das IEnumerable<FileInfo>
verwenden, das durch OrderByDescending
erhalten wurde:
<code class="language-csharp">var myFile = directory.GetFiles() .OrderByDescending(f => f.LastWriteTime) .First();</code>
Von beiden Methoden ruft die Methode First()
das erste Element aus der sortierten Sequenz ab und stellt so sicher, dass wir die zuletzt geänderte Datei erhalten.
Das obige ist der detaillierte Inhalt vonWie finde ich die zuletzt geänderte Datei in einem .NET-Verzeichnis ohne Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!