首页 > 解决方案 > Directory.GetDirectories 顺序与 Directory.GetFiles 顺序

问题描述

Directory.GetFiles,有一句话:

返回文件名的顺序不保证;如果需要特定的排序顺序,请使用 Sort 方法。

但是在Directory.GetDirectories没有这样的注释,所以目录的顺序是有保证的?

在 Linux、OSX 和 Windows 中也会一样吗?

标签: c#linuxwindows.net-corefilesystems

解决方案


我不确定最新的更改,但之前此目录方法基于 2 个WinAPI函数:FindFirstFileFindNextFile. 并且这里的命令完全依赖于文件系统。所以不能保证顺序。

在同一个操作系统中,您也可以获得不同的结果。它取决于文件系统。FATNTFS会给出不同的结果。

此外,这主要取决于文件系统内部的内部顺序 - 因此您无法预测顺序。


推荐阅读