Overloading OrderBytakes IComparer<string>, and you can get one of them for a specific culture using the static method Createon StringComparer. Something like this should work:
CultureInfo ci = CultureInfo.GetCultureInfo("ko-KR");
bool ignoreCase = true;
StringComparer comp = StringComparer.Create(ci, ignoreCase);
string[] unordered =
var ordered = unordered.OrderBy(s => s, comp);
source
share