我需要对包含日语字母的List<string>
进行排序。
我怎么能在C#中做到这一点?
答案 0 :(得分:4)
有一个重载List<T>.Sort(IComparer<T> comparer)
。您可以将特定于文化的比较器传递给sort方法。以下代码使用日语文化设置进行比较:
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。
答案 1 :(得分:2)
我用:
Array.Sort(myArray, StringComparer.Ordinal);
它将按Ascii值对数组进行排序,这样你就可以得到平假名,片假名,然后是汉字。