При порівнянні, що не враховує регістр, чи ефективніше перетворити рядок у верхній чи нижній регістр? Це взагалі має значення?
У цій публікації SO висувається припущення, що C # є більш ефективним у роботі з ToUpper, оскільки "Microsoft оптимізувала його таким чином". Але я також прочитав цей аргумент, що перетворення ToLower проти ToUpper залежить від того, що ваші рядки містять більше, і що, як правило, рядки містять більше символів нижнього регістру, що робить ToLower більш ефективним.
Зокрема, я хотів би знати:
- Чи є спосіб оптимізувати ToUpper або ToLower таким чином, що один швидший за інший?
- Чи швидше зробити нечутливе до регістру порівняння між рядками верхнього чи нижнього регістру, і чому?
- Чи існують середовища програмування (наприклад, C, C #, Python, будь-які), де один випадок явно кращий за інший, і чому?