C# linq order by 取决于语言

标签 c# linq

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/

相关文章:

c# - 优化复杂物体比较

c# - ffmpeg.win10 nuget 包文档

linq - 按 "string"名称订购 LINQ

c# - Linq连接两个相同类型的对象

c# - ServiceStack DELETE 请求是默认对象,POST 工作正常

c# - LINQ 中是否有任何优雅的方法可以根据属性将集合存储到一组列表中

c# - 将枚举绑定(bind)到 LINQ 和 SelectListItem

c# - 如何从sql数据库中检索excel文件

c# - 来自 ASP.NET 的数据包数据嗅探

c# - EFv1 一对多映射与 POCO 的关系