У меня есть строка, в которой мне нужно заменить маркеры на значения из словаря. Он должен быть как можно более эффективным. Выполнение цикла с помощью string.replace просто будет потреблять память (строки неизменяемы, помните). Будет ли StringBuilder.Replace() лучше, так как это было разработано для работы со строковыми манипуляциями?
Я надеялся избежать расходов RegEx, но если это будет более эффективным, пусть так и будет.
Примечание. Меня не интересует сложность кода, только то, как быстро он работает, и память, которую он потребляет.
Средняя статистика: 255-1024 символов в длине, 15-30 ключей в словаре.