gpt4 book ai didi

c# - 按文件创建日期排序(并枚举)目录列表?

转载 作者:太空狗 更新时间:2023-10-29 22:12:31 27 4
gpt4 key购买 nike

所以我有这个例程:

public static IEnumerable<string> GetFiles( string path, string[] searchPatterns, SearchOption searchOption = SearchOption.TopDirectoryOnly) {
return searchPatterns.AsParallel()
.SelectMany(searchPattern =>
Directory.EnumerateFiles(path, searchPattern, searchOption))
.OrderBy<string, string>( (f) => f)
.Distinct<string>();
}

及其工作但按文件名排序文件,我需要按其创建日期排序返回的文件。如果该项目是例程中的字符串,我该如何排序。我想使用枚举,因为文件预计超过 1k。

谢谢。

最佳答案

我不确定您是否真的想为该查询使用任务并行库。由于某些原因,请参阅此问题 How to find all exe files on disk using C#? .

至于按创建日期枚举文件,我会通过创建一个新的 DirectoryInfo 来启动该功能使用提供的路径,然后调用 .EnumerateFiles(string pattern, SearchOption searchOption)获取所有与您的模式匹配的文件。最后,您可以通过 CreationTime 订购FileInfo 的属性(property)返回的枚举中的对象,然后返回完整的 FileInfo 对象,或者只返回它们的 Name ,像这样:

public static IEnumerable<string> GetFiles( string path, string[] searchPatterns, SearchOption searchOption = SearchOption.TopDirectoryOnly) {
DirectoryInfo dir = new DirectoryInfo(path);
var dirs = (from file in dir.EnumerateFiles(searchPatterns, searchOptions)
orderby file.CreationTime ascending
select file.Name).Distinct(); // Don't need <string> here, since it's implied
return dirs;
}

注意:目前我无法访问编译器,但我相信上面的代码没有错误。

关于c# - 按文件创建日期排序(并枚举)目录列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com