Ответ 1
Моя теория заключается в том, что алгоритм сначала нормализует строки, а затем выполняет сравнение. В соответствии с этим "äbzzzzz1" нормализуется как "abzzzzz1". Первое сравнение в нормализованной форме приводит к равенству результатов, но возврат 0 будет иметь место, поскольку фактические строки не равны. Таким образом, он возвращается к порядковому сравнению и результатам -1.
Во втором случае, после нормализации, ясно, что "abzzzzz2" больше, чем "abzzzzz1", поэтому результат равен 1.
Этот подход также объясняет случаи, упомянутые в этом вопросе Для уточнения деталей проверьте страницу MSDN