Допустим бывает так, что нужно в шаблоне подставить значения в переменные. Например есть такой шаблон, а вам нужно подставить данные:
Уважаем[a] госпо[b] [name], прошу прийти [date], в [time] на собеседование.
Вот код, который заменяет в шаблоне переменные на значения
// String strTemplate = данные, т.е. шаблон,
private String Replace(String strTemplate, Dictionary<String, String> dicData) {
StringBuilder stbData = new StringBuilder(strTemplate); // Для изменяемой строки
foreach (KeyValuePair<String, String> item in dicData)
stbData.Replace(item.Key, item.Value); // Ищем по ключу item.Key - ключ это переменная, заменяем на значение item.Value
return stbData.ToString(); // Возвращаем изменённую строку
}
Пример использования:
String strData = "Уважаем[a] госпо[b] [name], прошу прийти [date], в [time] на собеседование.";
Dictionary<String, String> dict = new Dictionary<String, String>();
dict.Add("[a]", "ая");
dict.Add("[b]", "жа");
dict.Add("[name]", "Анна Иванова Шишкова");
dict.Add("[date]", "01.10.2021");
dict.Add("[time]", "18:00");
String strRes = this.Replace(strData, dict);
Результат:
Уважаемая госпожа Анна Иванова Шишкова, прошу прийти 01.10.2021, в 18:00 на собеседование.