Это почти академический вопрос, но мне любопытно ответить на него.
Предположим, что у вас есть цикл, который выполняет обычную замену в каждой строке в наборе данных. Скажем, там 10 000 таких строк.
Насколько эффективнее иметь что-то вроде этого:
Row = Row.Replace('X', 'Y');
Или проверить, содержит ли строка даже символ, который должен быть заменен в первую очередь, например:
if (Row.Contains('X')) Row = Row.Replace('X', 'Y');
Есть ли разница в эффективности? Я понимаю, что разница может быть очень незначительной. Мне интересно узнать, лучше ли один из способов, чем другой, независимо от того, насколько это лучше. Кроме того, будет ли ваш ответ отличаться, если вероятность найти персонажа, который будет заменен, составляет 10% от него, что составляет 90%?