Я столкнулся с проблемой интерполяции вложенных строк в C # 6.
Например, есть строка:
string test = "StartText MiddleText1 MiddleText2 EndText";
Если я хочу применить ToUpper () метод только для MiddleText1, я могу сделать это так:
string test = $@"StartText {"MiddleText1".ToUpper()} MiddleText2 EndText";
Но что, если я хочу применить строковый метод, например Replace () для этой части строки:
{"Middletext1".ToUpper()} MiddleText2
Я ожидал, что что-то вроде этого будет работать:
string test = $@"StartText {"{"MiddleText1".ToUpper()} MiddleText2".Replace("x", "y")} EndText";
Но этот синтаксис неправильный - я пробовал много вариантов, играл с квотами, но не смог получить правильный синтаксис для этой цели.
Я хотел бы не разбивать строку на разные части. Есть ли способ решить эту проблему, используя только функцию интерполяции?