Каков окончательный формат для интерполяции строк в VS 2015?

Я не могу заставить строку интерполяции работать. Последние новости от MS, которые я нашел, были

http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx

Однако все, что сказано, не работает. Кто-нибудь знает, превратила ли строка интерполяция в VS 2015? Есть ли какая-либо документация об этом? Можно ли привести пример?

Например, ни один из этих форматов не работает (отредактировано):

int i = 42;
var s = "\{i}";  // correction after jon answer: this works!
var s = $"{i}";  // compiler error
var s = "{{i}}"; // no interpolation

редактировать VS 2015 CTP 6 (20.4.2015)

Окончательная версия

var s = $"{i}"

также поддерживается текущей версией Resharper ReSharper 9.1.20150408.155143

Ответ 1

Ваша первая форма работала в VS2015 Preview:

int i = 42;
var s = "\{i}";

Это скомпилировано и побежало для меня. ReSharper жаловался, но это другое дело.

Для окончательной версии С# это:

var s = $"{i}";

Ответ 2

Интерполяция строк приводит к VS 2015. Последний синтаксис (который не был готов для предварительного просмотра, но превратился в VS2015 CTP5):

string s = $"{i}";

Он также поддерживает результат am IFormattable, используя класс FormattableString:

IFormattable s = $"{i}";

Последняя конструкторская документация находится здесь: String Interpolation для С# (v2)

Вы можете проверить это онлайн, используя последнюю версию Roslyn с http://tryroslyn.azurewebsites.net. Вот конкретный пример.