是否可以使用您想要插入的字符串格式的变量。
public class Setting
{
public string Format { get; set; }
}
var setting = new Setting { Format = "The car is {colour}" };
var colour = "black";
var output = $"{setting.Format}";
预期输出
“汽车是黑色的”。
答案 0 :(得分:8)
你做不到。字符串插值是一种纯粹的编译时功能。
答案 1 :(得分:3)
不,你不能做到这一点,但是你可以通过一种稍微不同的方法实现同样的目标,我已经开始喜欢:
public class Setting
{
public Func<string, string> Format { get; set; }
}
然后您可以将字符串参数传递给Format
:
var setting = new Setting { Format = s => $"The car is {s}" };
var output = setting.Format("black");
答案 2 :(得分:3)
为什么不呢?
首先,在C#中声明它之前,你不能使用局部变量。所以
首先在使用之前声明colour
。然后&#34;插入&#34;分配给Format
的字符串已完成。
var colour = "black";
var setting = new Setting { Format = $"The car is {colour}" };
var output = $"{setting.Format}";
Console.WriteLine(output);
输出:
汽车是黑色的。
答案 3 :(得分:1)
您可以对其进行轻微更改,如下所示:
$rs = $conexao->Query("SELECT * FROM `table` WHERE 1;");
if ($rs)
print $rs->affected_rows;
然后输出将是“汽车是黑色的”。
我还没有测试过这段代码。