2015-01-04 10 views
33

文字列補間を機能させることができません。私が見つけたMSからの最後のニュースは、しかし、すべてのない作業があると言われている VS 2015の文字列補間の最終形式は何ですか?

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

ました。文字列の補間によってVS 2015に変換されるかどうかは誰でも知ることができますか?それについてのドキュメントはありますか?あなたは一例を挙げることができますか? (編集 )例えば

、これらの形式の作業のいずれ:VS 2015 CTP 6(2015年4月20日)

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

編集最終バージョンが

var s = $"{i}" 
あります

現在のResharperバージョン でもサポートされています。ReSharper 9.1.20

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

コンパイルと私のために走った:150408.155143

答えて

49

あなたの最初のフォームはVS2015プレビューで仕事をしました。 ReSharperは不平を言ったが、それは別の問題である。 C#のの最終リリースの

、それは次のとおりです。

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

が確認されました。あなたの言うとおりです。ありがとうございました! – citykid

+0

は、約束されたインテリセンスがまだ働いていないように見えます。 – citykid

+1

正しい。 http://www.codeplex.com/Download?ProjectName=roslyn&DownloadId=930852 – Gigi

13

文字列の補間は、VS 2015にプレビューのための準備ができていなかった。その最新の構文を(それを作るが、VS2015 CTP5にそれを作っています)これです:

string s = $"{i}"; 

またFormattableStringクラスを使用してIFormattable結果午前サポートしています

IFormattable s = $"{i}"; 

最新の設計ドキュメントはここにある:String Interpolation for C# (v2)

あなたはhttp://tryroslyn.azurewebsites.netと最新ロザリンバージョンを使用しているオンラインをチェックすることができます。 Here's the specific example

+0

thxです。YouCastはクールです;-) – citykid

+0

@citykidありがとう。 :) – i3arnon