PHPでは、次のことができます。
$name = 'John';
$var = "Hello {$name}"; // => Hello John
C#に同様の言語構造はありますか?
あることはString.Format();
知っていますが、文字列で関数/メソッドを呼び出さなくても実行できるかどうかを知りたいです。
回答:
この機能は、C#5以下には組み込まれていません。
更新:C#6は文字列補間をサポートするようになりました。新しい回答を参照してください。
これを行うための推奨される方法は、String.Format
次のとおりです。
string name = "Scott";
string output = String.Format("Hello {0}", name);
ただし、名前付きプレースホルダーを(リフレクションを介して)使用できるように拡張するSmartFormatという小さなオープンソースライブラリString.Format
を作成しました。だから、あなたはすることができます:
string name = "Scott";
string output = Smart.Format("Hello {name}", new{name}); // Results in "Hello Scott".
あなたがそれを好きだといいのですが!
次の方法を使用します
1:方法1
var count = 123;
var message = $"Rows count is: {count}";
2:方法2
var count = 123;
var message = "Rows count is:" + count;
3:方法3
var count = 123;
var message = string.Format("Rows count is:{0}", count);
4:方法4
var count = 123;
var message = @"Rows
count
is:{0}" + count;
5:方法5
var count = 123;
var message = $@"Rows
count
is: {count}";