String[] a = new String[] { "NIKE", "한글","adidas","한글Korean" };
我喜欢排序数组,한글
在前
如果我只是在没有选项的情况下订购。英文字符串总是在最前面。
我该怎么做?
最佳答案
OrderBy
的重载需要 IComparer<string>
您可以使用静态 Create
为特定文化获得其中之一StringComparer
上的方法.这样的事情应该有效:
CultureInfo ci = CultureInfo.GetCultureInfo("ko-KR");
bool ignoreCase = true; //whether comparison should be case-sensitive
StringComparer comp = StringComparer.Create(ci, ignoreCase);
string[] unordered = //whatever
var ordered = unordered.OrderBy(s => s, comp);
关于C# linq order by 取决于语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139115/