Я наткнулся на это, выполняя тестовый набор с алфавитным порядком упорядочивания писем.
var test1 = new List<string>
{
"ZZZ", "AAA", "BBB"
};
var result1 = test1.OrderBy(t => t).ToList();
// Expected: AAA, BBB, ZZZ
// Result: BBB, ZZZ, AAA
var test2 = new List<string>
{
"ZK", "AB", "BA"
};
var result2 = test2.OrderBy(t => t).ToList();
// Expected: AB, BA, ZK
// Result: AB, BA, ZK
Такое поведение наблюдается как в .Net 4.6.1, так и .Net Core 1.0, 2.0 и 2.1.
Я что-то здесь упускаю или это действительно странная ошибка?