我有一个程序,net471
用Directory.GetFiles
.
现在我们要将其转换为.NET Core并在Linux上运行。
当我们这样做时,我们会得到不同的文件顺序。
我知道文档是怎么说的:
不保证返回文件名的顺序
但在我们迁移到 Linux 之前,文件的顺序是固定的。
我们想保持这个顺序,我们需要自己写一个比较器,还是已经存在一个?
规则:
- 无后划线:
file.txt -> file_en.txt
. - 无后带数字的名称:
file.txt -> file1.txt
- 下划线前的数字:
file1.txt -> file_en.txt
- 字母数字:
10.txt -> 3.txt
- 忽略大小写:
AA.txt -> ab.txt -> ZZ.txt
如果有一个比较器,我们需要它与操作系统无关。