$
часть сообщает компилятору, что вы хотите interpolated string.
Интерполированные строки являются одной из новых особенностей C# 6.0. Они позволяют заменять заполнители в строковом литерале соответствующими значениями.
Вы можете поместить почти любое выражение между двумя фигурными скобками ({}
) внутри интерполированной строки, и это выражение будет заменено представлением ToString
результата этого выражения.
Когда компилятор встречает интерполированную строку, он немедленно преобразует его в вызов функции String.Format
. Именно из-за этого, что ваш первый список, по сути то же самое, как написание:
throw new Exception(string.Format(
"One or more errors occured during removal of the company:{0}{1}{2}",
Envrionment.NewLine,
Environment.NewLine,
exc.Message));
Как вы можете видеть, интерполированные строки позволяют выразить то же самое в гораздо более сжатой форме и таким образом, что проще чтобы получить правильное.
Это немного несправедливо, чтобы снизить это с помощью новой функции, которая только что была выпущена. –
@ImmortalBlue. Я также чувствую, что Google очень похож на такие символы, как '=>' и '$'. –
@ImmortalBlue, это вопрос с нулевым усилием. Это то, за что проголосовали. Google ответил бы на этот вопрос за меньшее время, которое я потратил, чтобы написать этот комментарий. –