Метод сравнения () не должен использоваться для сравнения двух строк, потому что он просто возвращает количество символов первой строки над второй строкой - PullRequest
0 голосов
/ 15 мая 2018

Я только что выяснил, что string.compare () возвращает 0: когда содержимое первой строки точно совпадает со второй строкой, включая длину.+ ve значение: когда длина первой строки больше, чем вторая, независимо от того, присутствует ли первая строка во второй строке или нет.-ve значение: когда длина первой строки не превышает второй независимо от того, присутствует ли первая строка во второй строке или нет.

Хорошо ли использовать метод compare () для сравнения двух строк независимо от культуры.

Может ли кто-нибудь предложить мне.

1 Ответ

0 голосов
/ 15 мая 2018

метод сравнения не должен использоваться для сравнения двух строк, поскольку он просто возвращает количество символов первой строки над второй строкой

Скажи еще раз?С чего вы взяли, что сравнение строк работает именно так?Ваша вера в то, как работает Compare, абсолютно неверна.

string.Compare(s1, s2) вернется:

  • 0, если s1 не больше и не меньше, чем s2,то есть, учитывая выбранные критерии сравнения, они оба равны по порядку.
  • -1, если s1 больше s2: «Z» больше, чем «A», а также больше, чем «AA ”.
  • 1, если s2 больше s1

Теперь, когда дело доходит до критериев сравнения строк, у вас есть несколько вариантов.Проверьте документацию, чтобы узнать, какая из них соответствует вашим текущим требованиям.

...