Если вы делаете сравнение без учета регистра, эффективнее ли преобразовать строку в верхний регистр или в нижний регистр? Это даже имеет значение?Верхний и нижний регистр
Предлагается in this SO post, что C# более эффективен с ToUpper, потому что «Microsoft оптимизировала его таким образом». Но я также прочитал this argument, что преобразование ToLower в сравнении с ToUpper зависит от того, что ваши строки содержат больше, и что обычно строки содержат более строчные символы, что делает ToLower более эффективным.
В частности, я хотел бы знать:
- Есть ли способ оптимизировать ToUpper или ToLower таким образом, что один быстрее, чем другие?
- Быстрее ли делать сравнение без учета регистра строк с верхним или нижним регистром и почему?
- Существуют ли какие-либо среды программирования (например, C, C#, Python, что угодно), где один случай явно лучше, чем другой, и почему?
Это совершенно неправильно - OR'ing с 32 работает только для A-Z и символов 64-127; он закручивает все остальные символы. И'инг с 32 еще более прав - результат всегда будет 0 (nul) или 32 (пробел). – 2008-10-24 18:34:25