#c# #string-interpolation
#c# #строка-интерполяция
Вопрос:
У меня есть строка со следующим текстом, и мне нужно заменить несколько символов:
zpl = "Test text {A1} - test text {A2} - test text {A3}";
Я хочу заменить {A?} значением из таблицы данных. Это отлично работает для меня с Visual Studio 2017, но 2012, с которым я должен скомпилировать, сообщает мне неожиданный символ $:
for (int i = 1; i <= 3; i )
{
zpl = zpl.Replace($"{{A{i}}}", row[0][i].ToString());
}
Я не знаю, как заставить его работать со Studio 2012.
Комментарии:
1. Вы должны вернуться к использованию
string.Format
или просто конкатенации строк.string.Format("{{A{0}}}", i)
или"{A" i "}"
Ответ №1:
$"{{A{i}}}"
(который является новым в C # 6) такой же, как
string.Format("{{A{0}}}", i)
Таким образом, ваш код становится
for (int i = 1; i <= 3; i )
{
zpl = zpl.Replace(string.Format("{{A{0}}}", i), row[0][i].ToString());
}