我需要排序包含日文字母的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