任何人都拥有良好的资源或在C#中为FileInfo数组提供自然顺序排序的样本?我正在实现IComparer我的各种界面.
我有一个像这样的列表:
var l = new List<string> {"bla 1.txt","bla 2.txt","bla 10.txt","bla 3.txt"};
Run Code Online (Sandbox Code Playgroud)
如果我调用l.Sort(),列表将以1,10,2,3的顺序排序,这从纯字符串的角度来看是有意义的,但是从用户角度来看很糟糕.
因为我不想/不能强迫我的用户将它们命名为01,02,03,...我想知道是否有内置方法或简单算法来正确检测和排序数字,以便我有1,2,3,10?由于数字只有1或2个字符长(即不超过99),我可以做一个正则表达式,暂时为所有1位数字加前缀0和排序,但在重新发明轮子之前,我想知道是否已存在某些内容?
.net 3.5SP1如果重要,不是4.0