![]() |
1
16
怎么样:
|
![]() |
2
16
下面是一个幼稚的实现(从某种意义上说,它可能有很多unicode问题),它似乎做到了这一点: 您可以将下面的代码复制到 LINQPad
基本上,比较算法将识别字符串中的数字,并用前导零填充最短的数字,例如两个字符串
然而,当我说“幼稚”的时候,我的意思是这里可能有很多真正的unicode问题,比如处理音调符号和多码点字符。如果有人能给一个更好的实施,我很乐意看到它。 笔记:
代码:
|
![]() |
3
2
现在编写比较器或手动排序变得很容易:
给出结果:
|
![]() |
4
2
blog post 关于自然排序,他链接到所需算法的一些可用实现。 其中一个链接指向 Dave Koelle C# implementation
|
![]() |
5
0
这是最快的算法-花了我2 mili排序50个项目 ~
~ |
![]() |
6
-1
除此之外,我觉得你什么都不需要listName.排序(),因为sort()方法使用默认比较器对节点进行快速排序。默认比较器做的正是您感兴趣的事情。 |
![]() |
7
-1
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |