Я новичок в C # и обнаружил нечто неожиданное в сравнении строк, которое я не совсем понимаю.
Может кто-нибудь объяснить, почему сравнение между символами дало противоположный результат, как сравнение строк длиной в один символ в следующем коде?
Я ожидал, что "9" < "="
будет true
(так как код Unicode '9' (57) меньше, чем код Unicode '=' (61)), но это ложь ...
Что такое логика сравнения строк и чем она отличается от сравнения символов?
Код:
bool resChComp = '9' < '=';
bool resStrComp = String.Compare("9", "=") < 0;
Console.WriteLine($"\n'9' < '=' : {resChComp}, \"9\" < \"=\" : { resStrComp }");
Выход:
'9' < '=' : True, "9" < "=" : False