Я знаю, что интерполяция является синтаксическим сахаром для string.Format()
, но имеет ли он какое-либо особое поведение/распознавание, когда оно используется с методом форматирования строк?
Если у меня есть метод:
void Print(string format, params object[] parameters)
И следующий вызов к нему с использованием интерполяции:
Print($"{foo} {bar}");
Какая из следующих строк вызовов наиболее эквивалентна скомпилированному результату интерполяции строк?
Print(string.Format("{0} {1}", new[] { foo, bar }));
Print("{0} {1}", new[] { foo, bar });
Основываясь на вопросе: фреймворки протоколирования, такие как NLog, обычно откладывают форматирование строк до тех пор, пока они не определит, что на самом деле будет записано сообщение журнала. В общем, я предпочитаю синтаксис строковой интерполяции, но мне нужно знать, может ли это повлечь за собой дополнительное ограничение производительности.