【发布时间】:2014-01-31 18:34:57
【问题描述】:
这听起来很重复,但给出的所有解决方案都不满足按名称排序的要求之一。比如
J A1
J A2
J A3
J A10
J A11
该方法返回 J A1,J A10, J A11, J A2, J A3。但这不是预期的,因为操作系统以不同的方式对它们进行排序。
以下解决方案已经尝试过
var sorted = dirInfo.GetDirectories("*.*", SearchOption.TopDirectoryOnly).OrderBy(f => f.Name);
Array.Sort();
【问题讨论】:
-
您是否尝试过链接到此处的实现:stackoverflow.com/a/1013055/2609288?
-
@Baldrick 不,让我试一试并更新
-
@Baldrick 这解决了排序问题(NumericComparer nc = new NumericComparer(); Array.Sort(strDir, nc);)但是将其应用于 Directoryinfo[] 有点复杂。
-
@Baldrick 自己发布了答案。但功劳归于你。
标签: c# .net-3.5 directoryinfo