2015-01-04 14 views
33

Nie mogę uzyskać interpolacji napisów do pracy. Ostatni wiadomości z MS znalazłemJaki jest ostateczny format interpolacji napisów w VS 2015?

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

Jednak wszystko, co powiedział, że jest nie roboczego. Ktoś wie, czy interpolacja napisów przekształciła ją w VS 2015? Czy jest jakaś dokumentacja na ten temat? Czy możesz podać przykład?

Na przykład, żadna z tych prac formatach (edytowany):

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

zmienił temat VS 2015 CTP 6 (20.4.2015)

ostatecznej wersji jest

var s = $"{i}" 

również obsługiwane przez aktualną wersję programu Resharper ReSharper 9.1.20 150408.155143

Odpowiedz

49

Twoja pierwsza forma zrobił pracy w VS2015 Preview:

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

To skompilowany i pobiegł za mną. ReSharper narzekał, ale to już inna sprawa.

Dla końcowego wydaniu C#, to jest:

var s = $"{i}"; 
+0

potwierdzona, jest dokładnie taka, jak mówisz. Dziękuję Ci! – citykid

+0

wygląda na to, że obiecana intellisense nie działa jeszcze. – citykid

+1

Poprawnie; Oto najnowsze opisy funkcji PDF w celach informacyjnych (patrz Rozdział 5): https://www.codeplex.com/Download?ProjectName=roslyn&DownloadId=930852 – Gigi

13

interpolacja String czyni go VS 2015. Jego najnowszy składni (która nie była gotowa do podglądu, ale zrobiłem to w VS2015 CTP5) jest taka:

string s = $"{i}"; 

obsługuje również jestem IFormattable Wynik Korzystanie z klasy FormattableString:

IFormattable s = $"{i}"; 

Najnowszy dokumentacja projektowa jest tutaj: String Interpolation for C# (v2)

Można sprawdzić, czy przez Internet przy użyciu najnowszej wersji Roslyn z http://tryroslyn.azurewebsites.net. Here's the specific example.

+0

thx za twoją pomocną i pouczającą odpowiedź. YouCast jest fajny ;-) – citykid

+0

@citykid thanks. :) – i3arnon

Powiązane problemy