3 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
這樣的事情怎么樣......
var directory = new DirectoryInfo("C:\\MyDirectory");
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
// or...
var myFile = directory.GetFiles()
.OrderByDescending(f => f.LastWriteTime)
.First();

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果你想以遞歸方式搜索,你可以使用這段漂亮的代碼:
public static FileInfo GetNewestFile(DirectoryInfo directory) { return directory.GetFiles() .Union(directory.GetDirectories().Select(d => GetNewestFile(d))) .OrderByDescending(f => (f == null ? DateTime.MinValue : f.LastWriteTime)) .FirstOrDefault(); }
只需按以下方式調(diào)用它:
FileInfo newestFile = GetNewestFile(new DirectoryInfo(@"C:\directory\"));
就是這樣。返回FileInfo
實(shí)例或null
目錄為空。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
擴(kuò)展上面的第一個(gè),如果要搜索某個(gè)模式,可以使用以下代碼:
string pattern = "*.txt";
var dirInfo = new DirectoryInfo(directory);
var file = (from f in dirInfo.GetFiles(pattern) orderby f.LastWriteTime descending select f).First();
- 3 回答
- 0 關(guān)注
- 709 瀏覽
添加回答
舉報(bào)