我需要排序包含日文字母的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. C#清單列表 - 排序
- 4. 排序清單<Object>
- 5. 索引排序清單
- 6. flexigrid本地排序
- 7. 發貨地點排除清單
- 8. 本地化應用程序(主)菜單?
- 9. C#表單應用程序本地化
- 10. 排序一個清單:數字升序排列,字母降序
- 11. 由外部排序順序排序通用的清單
- 12. 緩存清單忽略本地版本
- 13. 本地化序號
- 14. 爲Office JS加載項本地化清單文件
- 15. 排序版本化的ModelAdmin
- 16. 這爲什麼不排序清單?
- 17. 相當於Java C#排序清單
- 18. 清單排序成k個類
- 19. Flex 4.6自定義排序清單
- 20. 排序使用比較清單列表
- 21. 排序/訂單地點
- 22. mongodb〜排序的清單/不同的排序()?
- 23. HTML5本地存儲排序
- 24. NSFetchedResultsController部分本地排序
- 25. Python排序和排序 - 列表清單是如何精確排序的?
- 26. 本地化時間單位
- 27. 本地化表單命令
- 28. Symfony - 表單本地化
- 29. MySQL簡單本地化
- 30. qt序列化指針清單
我不能保證這一點,但我認爲如果你用'Compare'對它進行分類,給定正確的CultureInfo它應該開箱即用... – Crisfole 2011-04-04 22:20:59