文字列の前の $ はどういう意味ですか? 質問する

文字列の前の $ はどういう意味ですか? 質問する

逐語的な文字列を使用するつもりでしたが、$の代わりに と誤って入力しました@

しかし、コンパイラはエラーを出さず、正常にコンパイルしました。

それが何なのか、何をするのかを知りたいです。検索しましたが、何も見つかりませんでした。

ただし、次のように記述できないため、逐語的な文字列とは異なります。

string str = $"text\";

$C# では文字列の前の文字は何を意味しますか?

string str = $"text";

Visual Studio 2015 CTP を使用しています。

ベストアンサー1

$は の省略形でありString.Format、C# 6 の新機能である文字列補間で使用されます。あなたのケースで使用されているように、何も行わstring.Format()れません。

これは、他の値を参照して文字列を構築するときに役立ちます。以前は次のように記述する必要がありました。

var anInt = 1;
var aBool = true;
var aString = "3";
var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);

次のように変わります:

var anInt = 1;
var aBool = true;
var aString = "3";
var formated = $"{anInt},{aBool},{aString}";

あまり知られていないが、 を使用した文字列補間の別の形式もあります(2 つの記号の順序が重要です)。これにより、文字列全体でを必要とせずに、文字列$@の機能@""を と混合して文字列補間をサポートできます。つまり、次の 2 行です。$""\\

var someDir = "a";
Console.WriteLine($@"c:\{someDir}\b\c");

出力は次のようになります:

c:\a\b\c

おすすめ記事