逐語的な文字列または新機能?文字列の前の $ の謎を解明する
Visual Studio 2015 CTP の使用中に、奇妙な出来事に遭遇しました。 @ を含む逐語的な文字列を使用する代わりに、誤って $ を入力しても、コンパイラはエラーなしで応答しました。この記事は、C# で文字列の前にある $ の役割を明確にすることを目的としています。
$ 文字は、C# 6 で導入された新しい機能である文字列補間で重要な役割を果たす String.Format のショートカットとして機能します。 、特定の使用法では、これは基本的にプレースホルダーとなり、string.Format() の機能をミラーリングします。
$ の真の力は、次の文字列の構築を容易にするときに明らかになります。他の値への参照。次の変数があるシナリオを考えてみましょう:
var anInt = 1; var aBool = true; var aString = "3";
以前は、String.Format() を使用して書式設定された文字列を組み立てていました。
var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);
With string
var formated = $"{anInt},{aBool},{aString}";
さらに、C# では代替補間構文が提供されています。 $@を使用します。これにより、文字をエスケープする必要がなく、逐語的な文字列機能と文字列補間のシームレスな統合が可能になります。例:
var someDir = "a"; Console.WriteLine($@"c:\{someDir}\b\c");
このコードの出力は次のようになります:
c:\a\b\c
以上がC# 文字列の前の $ 記号は、逐語的文字列または文字列補間ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。