Возвращает ли String.ToLower()
ту же ссылку (например, без выделения какой-либо новой памяти), если все символы уже в нижнем регистре?
Распределение памяти дешево, но быстрая проверка на миллионах коротких строк еще дешевле. Большую часть времени ввод, с которым я работаю, уже в нижнем регистре, но я хочу сделать так, если это не так.
Я работаю, в частности, с C # / .NET, но мое любопытство распространяется и на другие языки, поэтому не стесняйтесь отвечать за ваш любимый!
ПРИМЕЧАНИЕ. Строки являются неизменяемыми, но это не означает, что функция всегда должна возвращать новую, скорее это означает, что ничто не может изменить содержимое их символов.