2015-01-04 5 views
33

Çalışmak için dize enterpolasyonu alamıyorum. Buldum MS'den Son haberler Ancak tüm değil çalışma olduğunu söyledi ki VS 2015'te dize enterpolasyonu için son biçim nedir?

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

oldu. String interpolasyonunun VS 2015'e girip girmediğini bilen var mı? Bu konuda herhangi bir belge var mı? Bir örnek verebilir misiniz? Örneğin

, bu biçimler işin hiçbiri ( düzenlenebilir): VS 2015 CTP 6 (20.4.2015)

son sürümü hakkında

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

düzenlemeyi

var s = $"{i}" 
olduğunu

ayrıca şu andaki Yeniden Yüklenme sürüm ReSharper 9.1.20 tarafından desteklenmektedir 150408.155143

cevap

49

İlk formu VS2015 Önizlemesi'nde çalışma yaptı:

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

derlenmiş O ve benim için koştu. ReSharper şikayet etti, ama bu farklı bir konu.

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

onaylandı, aynen söylediğin gibi. teşekkür ederim! – citykid

+0

söz verilen intellisense henüz çalışmıyor gibi görünüyor. – citykid

+1

Doğru; Burada referans için en yeni özellik açıklamaları PDF (bkz. Bölüm 5): https://www.codeplex.com/Download?ProjectName=roslyn&DownloadId=930852 – Gigi

13

dize enterpolasyon VS 2015 önizleme için hazır değildi Onun son sözdizimi (onu yapma, ama VS2015 CTP5 haline getirdiler: C# son sürümünde

, öyle

:

string s = $"{i}"; 

Ayrıca IFormattable bir sonuç FormattableString sınıfını kullanarak değilim destekler:) bu

son tasarım dokümantasyonu

IFormattable s = $"{i}"; 
buradadır: String Interpolation for C# (v2)

Sen http://tryroslyn.azurewebsites.net en son Roslyn sürümünü kullanarak onu internetten kontrol edebilirsiniz. Here's the specific example.

+0

Bilgilerinize ve bilgilendirici cevabınız için teşekkürler.Koşca serin ;-) – citykid

+0

@citykid teşekkürler. :) – i3arnon