Я кодирую в C#, и у меня возникла ситуация, когда мне потребовалось заказать последовательность из одной строки символов. пример:
var list = new List<string> { "1", "A", "a", "0" };
Так как все мы знаем, что таблица ASCII
содержит список Upper перед Lower, я ожидал, что это будет упорядочено следующим образом (0, 1, A, a), но оно было упорядочено следующим образом this (0, 1, a, A)
У меня есть простой пример:
var strs = new List<string> { "1", "A", "a", "0" };
var orderedStrs = strs.OrderBy(l => l);
Console.WriteLine("---strs---");
foreach(var elem in strs){
Console.WriteLine(elem);
}
Console.WriteLine("---orderedStrs---");
foreach(var elem in orderedStrs){
Console.WriteLine(elem);
}
var chars = new List<char> { '1', 'A', 'a', '0' };
var orderedChars = chars.OrderBy(ch => ch);
Console.WriteLine("---chars---");
foreach(var elem in chars){
Console.WriteLine(elem);
}
Console.WriteLine("---orderedChars---");
foreach(var elem in orderedChars){
Console.WriteLine(elem);
}
и это вывод:
---strs---
1
A
a
0
--- orderedStrs---
0
1
a
A
---chars---
1
A
a
0
--- orderedChars---
0
1
A
a
Может кто-нибудь ответить мне этот вопрос?