按本地化排序列表

Muh*_*our 3 c# sorting generics unicode list

我需要对List<string>包含日语字母的a进行排序。我怎么能在 C# 中做到这一点?

Eli*_*ing 6

有一个过载List<T>.Sort(IComparer<T> comparer)。您可以将特定于文化的比较器传递给 sort 方法。以下代码使用日语文化设置进行比较:

myList.Sort(StringComparer.Create(new CultureInfo("ja-JP"), true));
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我true作为参数传递以指示比较必须不区分大小写。该StringComparer有几个静态的属性和方法来创建一个合适的比较器:

StringComparer.CurrentCulture;
StringComparer.CurrentCultureIgnoreCase;
StringComparer.Create(CultureInfo culture, bool ignoreCase);
etc.
Run Code Online (Sandbox Code Playgroud)

您可以在此 msdn 页面上找到更多信息。