【C#】实现按Windows排序方式排序
2015-02-03 16:00
246 查看
很多人或许都遇到过类似的问题,C#读取的文件列表默认是按ASCII排序的,这样会出现一个问题就是10会排在2的前面。
那么是否可以解决呢,答案是肯定的。虽然这个是很早之前遇到的问题,这次突然想起来,就写一下,记录下。
解决方案:
调用上述方法进行排序即可实现windows自带效果的排序了。
例:
这样就完美解决了。
那么是否可以解决呢,答案是肯定的。虽然这个是很早之前遇到的问题,这次突然想起来,就写一下,记录下。
解决方案:
[System.Runtime.InteropServices.DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogicalW(string psz1, string psz2);
调用上述方法进行排序即可实现windows自带效果的排序了。
例:
List<string> list = new List<string>(); list.Add("10"); list.Add("2"); list.Add("12"); list.Sort(StrCmpLogicalW);
这样就完美解决了。
相关文章推荐
- c# list排序的三种实现方式
- c# list排序的三种实现方式
- c# list排序的三种实现方式
- c# list排序的三种实现方式 (转帖)
- Windows 编程中用Service开启一个外部进程的两种语言实现方式(C++,C#)。
- c# list排序的三种实现方式
- c# list排序的三种实现方式
- C#中排序的多种实现方式
- c# list排序的三种实现方式
- c# list排序的三种实现方式
- c# list排序的实现方式
- 用托盘控制windows服务的c#实现
- 用托盘控制windows服务的c#实现 (转)
- C# ListView中点击表头ColumnClick实现对相应列的排序
- C# 实现Windows Media Encoder音视频捕捉
- 用C#在WINDOWS中实现新用户帐号的创建
- C# 实现Windows Media Encoder音视频捕捉
- C#的Windows编程中多语言的实现
- C#的Windows编程中多语言的实现
- C#实现Windows 服务的制作安装和删除