При сравнении без учета регистра более эффективно преобразовывать строку в верхний или нижний регистр? Имеет ли это значение?
в этом посте SO предлагается, чтобы С# был более эффективным с ToUpper, потому что "Microsoft оптимизировала его таким образом". Но я также прочитал этот аргумент, что преобразование ToLower против ToUpper зависит от того, что в ваших строках больше, и что обычно строки содержат больше символов нижнего регистра, что делает ToLower более эффективным.
В частности, я хотел бы знать:
- Есть ли способ оптимизировать ToUpper или ToLower так, чтобы один был быстрее другого?
- Быстрее ли сравнивать строки в верхнем или нижнем регистре без учета регистра и почему?
- Существуют ли какие-либо среды программирования (например, C, С#, Python и т.д.), Где один случай явно лучше другого и почему?