Допустим бывает так, что нужно в шаблоне подставить значения в переменные. Например есть такой шаблон, а вам нужно подставить данные:
Уважаем[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 на собеседование.