C#linq顺序取决于语言

Sun*_*Lim 3 c# linq

String[] a = new String[] { "NIKE", "??","adidas","??Korean" };
Run Code Online (Sandbox Code Playgroud)

我喜欢订购阵列,??是第一个

如果我只是订购没有选项.英文字符串始终位于顶部.

我怎样才能做到这一点?

Lee*_*Lee 6

OrderBy需要a 的重载,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);
Run Code Online (Sandbox Code Playgroud)