Более или менее эффективно выполнить проверку перед выполнением замены в C #?

Это почти академический вопрос, но мне любопытно ответить на него.

Предположим, у вас есть цикл, который выполняет стандартную замену каждой строки в наборе данных. Скажем, имеется 10 000 таких строк.

Более эффективно иметь что-то вроде этого:

 Row = Row.Replace('X', 'Y');

Или проверить, содержит ли строка даже символ, который должен быть заменен в первую очередь, например:

 if (Row.Contains('X')) Row = Row.Replace('X', 'Y');

Is есть ли разница в эффективности? Я понимаю, что разница может быть очень незначительной. Мне интересно знать, лучше ли один способ другого, независимо от того, насколько он может быть лучше. Кроме того, был бы ваш ответ другим, если бы вероятность нахождения заменяемого символа составляла 10% от 90%?

13
задан Cœur 10 September 2017 в 06:43
поделиться