На первый взгляд кажется, что он не делает ничего, кроме сохранения 2 символов для каждого встроенного выражения:
Console.WriteLine($"This is time number {i} that I, {name}, printed this statement.");
Console.WriteLine("This is time number "+i+" that I, "+name+", printed this statement.");
Это действительно стоит целой языковой функции?
При этом, должен признать, мне больше нравится смотреть на фигурные скобки, поэтому я использовал интерполяцию строк. Но почему он мне нравится больше? Какой психологический феномен предпочитает {hello}
"+hello+"
? Кажется немного произвольным.
Существуют ли другие преимущества интерполяции строк, которые оправдывают использование всей языковой функции? Или дело только в читабельности?
Когда интерполяция строк не эквивалентна простой текстовой замене "+
=> {
и +"
=> }
?
Я знаю, что он компилируется в string.Format
. Таким образом, результирующий двоичный файл отличается, но выполнение кажется таким же, плюс-минус некоторые очень незначительные различия в производительности.
"The number " + number.ToString() + " is greater than 0"
иstring.Format(Then number {0} is greater than 0", number)
? - person Fabio   schedule 17.09.2019string.Format("{0} - {1}", a, b)
по сравнению с$"{a} - {b}"
, он просто более удобочитаем/меньше подвержен риску человеческой ошибки при изменении. - person Llama   schedule 17.09.2019