ホームページ > バックエンド開発 > C++ > C# 文字列の前の $ 記号は、逐語的文字列または文字列補間ですか?

C# 文字列の前の $ 記号は、逐語的文字列または文字列補間ですか?

DDD
リリース: 2025-01-04 22:07:38
オリジナル
505 人が閲覧しました

Is the $ Symbol Before a C# String a Verbatim String or String Interpolation?

逐語的な文字列または新機能?文字列の前の $ の謎を解明する

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート