gpt4 book ai didi

.net - 排序目录.GetFiles()

转载 作者:行者123 更新时间:2023-12-02 07:49:38 27 4
gpt4 key购买 nike

System.IO.Directory.GetFiles() 返回一个string[]。返回值的默认排序顺序是什么?我是按名字假设的,但如果是的话,当前的文化对其影响有多大?您可以将其更改为创建日期之类的内容吗?

更新: MSDN 指出 .Net 3.5 不保证排序顺序,但该页面的 2.0 版本根本没有说明任何内容,并且两个页面都不会帮助您按内容排序例如创建或修改时间。一旦您拥有数组(它仅包含字符串),该信息就会丢失。我可以构建一个比较器来检查它获取的每个文件,但这意味着在 .GetFiles() 方法可能已经执行此操作时重复访问文件系统。看起来效率很低。

最佳答案

如果您对文件的属性(例如 CreationTime)感兴趣,那么使用 System.IO.DirectoryInfo.GetFileSystemInfos() 会更有意义。然后,您可以使用 System.Linq 中的扩展方法之一对它们进行排序,例如:

DirectoryInfo di = new DirectoryInfo("C:\\");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.OrderBy(f => f.CreationTime);

编辑 - 抱歉,我没有注意到 .NET2.0 标记,因此忽略 LINQ 排序。不过,使用 System.IO.DirectoryInfo.GetFileSystemInfos() 的建议仍然有效。

关于.net - 排序目录.GetFiles(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52842/

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