我认为订购是错误地订购商品。示例代码:

static void Main()
{
    // Create a delicious data source.
    string[] fruits = { "äax", "ääü", "äbü" };

    // Query for ascending sort.
    IEnumerable<string> sortAscendingQuery =
        from fruit in fruits
        orderby fruit //"ascending" is default
        select fruit;

    // Execute the query.
    Console.WriteLine("Ascending:");
    foreach (string s in sortAscendingQuery)
    {
        Console.WriteLine(s);
    }
}


结果:

Ascending:
ääü
äax
äbü


正确的顺序应为:
ax
阿布
ääü

有人遇到过这个错误吗?

最佳答案

该linq返回正确的结果-您需要指定要使用的字符串比较。

foreach (string s in fruits.OrderBy(s=>s, StringComparer.OrdinalIgnoreCase ) )
{
  Console.WriteLine(s);
}

关于c# - C#LINQ错误排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6044892/

10-13 05:57