Интерпретация строки в переменной C#
Есть переменная содержащая: "{"header":"{request}"}". С помощью интерпретаций строк в c# можно поменять {request} с помощью символа '$'. Как поменять '{0}' в переменной?
Имею в виду это: $"header: {request}"
Ответы (1 шт):
Автор решения: vusaldev
→ Ссылка
public class AdvansedStingFormatter
{
/// <summary>
/// Форматировать строку с помощью динамической интерполяции
/// </summary>
/// <param name="format">Строка - шаблон</param>
/// <param name="args">Словарь ключей для замены в шаблоне</param>
/// <returns></returns>
public static string Format(string format, Dictionary<string, string> args)
{
if (string.IsNullOrEmpty(format))
{
return format;
}
if (args == null)
{
throw new ArgumentNullException(nameof(args));
}
foreach (var arg in args)
{
format = format.Replace($"{{{arg.Key}}}", arg.Value);
}
return format;
}
}
Использование:
string result = AdvansedStingFormatter.Format(json, new Dictionary<string, string>
{
{"request", "r1" },
{"foo", "f" }
});