代码之家  ›  专栏  ›  技术社区  ›  Sungguk Lim

依语言排序

  •  3
  • Sungguk Lim  · 技术社区  · 14 年前
    String[] a = new String[] { "NIKE", "한글","adidas","한글Korean" };
    

    我想订购阵列 한글 是第一个

    如果我没有选择的话。英语字符串总是在最上面。

    1 回复  |  直到 7 年前
        1
  •  7
  •   Lee    14 年前

    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);