我需要排序包含日文字母的List<string>
。我怎么能在C#中做到这一点?本地化排序清单
本地化排序清单
回答
有一个过载List<T>.Sort(IComparer<T> comparer)
。您可以将文化特定比较器传递给排序方法。下面的代码比较了使用日本的文化设置:
myList.Sort(StringComparer.Create(new CultureInfo("ja-JP"), true));
在这种情况下,我通过true
作为参数,以指示比较必须是不区分大小写。该StringComparer
有几个静态的属性和方法来创建一个合适的比较器:
StringComparer.CurrentCulture;
StringComparer.CurrentCultureIgnoreCase;
StringComparer.Create(CultureInfo culture, bool ignoreCase);
etc.
你可以找到更多信息on this msdn page。
日语没有大小写,但有三种不同的单词排序惯例。一种是基于发音,一种基于一首诗,一首是基于部首(构成角色的部分)。这就是我逐出的地方。 – 2011-04-05 00:04:19
我打算分类假名列表{Hiragana}所以它会更简单 – 2011-04-05 04:13:31
我发现,当使用SortedList我可以做到这一点easly – 2011-04-05 12:06:16
我用:
Array.Sort(myArray, StringComparer.Ordinal);
它将由ASCII码值的数组排序,所以你会得到平假名,片假名,然后汉字。
- 1. 从排序清单
- 2. 排序清单中的Java
- 3. 索引排序清单
- 4. 本地化应用程序(主)菜单?
- 5. 缓存清单忽略本地版本
- 6. 排序一个清单:数字升序排列,字母降序
- 7. 本地化序号
- 8. 为Office JS加载项本地化清单文件
- 9. 相当于Java C#排序清单
- 10. 排序使用比较清单列表
- 11. 排序/订单地点
- 12. mongodb〜排序的清单/不同的排序()?
- 13. HTML5本地存储排序
- 14. NSFetchedResultsController部分本地排序
- 15. Symfony - 表单本地化
- 16. 本地化表单命令
- 17. 应用程序缓存清单+本地存储容量限制
- 18. Oracle本地化序列
- 19. 本地化安装程序
- 20. Realm React本地排序顺序
- 21. Android通讯录:错误的本地化整理/排序
- 22. 如何对考虑本地化的数组进行排序?
- 23. 本地化SQL Server 2008表中的数据和排序
- 24. 排除使用中间件本地化Django应用程序
- 25. Windows Phone 8.1应用程序清单本地化使用来自不同程序集的资源
- 26. 升序自定义排序号码清单列表
- 27. Objective-C按字母顺序排序,使用本地化的日语吗?
- 28. 排序地图
- 29. jqGrid远程数据,本地排序
- 30. 根据本地化的排序顺序对WPF中的DataGrid进行预先排序
我不能保证这一点,但我认为如果你用'Compare'对它进行分类,给定正确的CultureInfo它应该开箱即用... – Crisfole 2011-04-04 22:20:59