我已经阅读了有关按属性排序对象数组的问题,但我有一个特殊情况,我需要aditional StringComparer.Ordinal
对象来执行自定义排序。
我有一个DirectoryInfo[]
数组,我需要按照其FullName属性对子目录进行排序,但我需要路径中包含的数字的排序顺序为:
1 - 2 - 4 - 10 - 14 - 25
而不是
1 - 10 - 14 - 2 - 25 - 4
(我的路径有c:\Folder\Subfolder\1
,c:\Folder\Subfolder\2
...)
如果我的数组是一个字符串数组,我认为这将完成:Array.Sort(paths, StringComparer.Ordinal)
。
如果我的数组是DirectoryInfo[]
数组,我该如何编写?我想通过创建一个新类来避免扩展DirectoryInfo。