什么';s是C#字符串的$modifier
这个问题听起来很像: 但是我已经知道C#中字符串文本前面@字符的含义 但是现在我在一个例子中看到了这一点:什么';s是C#字符串的$modifier,c#,.net,string,C#,.net,String,这个问题听起来很像: 但是我已经知道C#中字符串文本前面@字符的含义 但是现在我在一个例子中看到了这一点: var xml = $@"<toast> <visual> <binding template='ToastGeneric'> <text>text</text> </binding> </visual> <audio
var xml = $@"<toast>
<visual>
<binding template='ToastGeneric'>
<text>text</text>
</binding>
</visual>
<audio src='ms-winsoundevent:Notification.Looping.Alarm10' loop='true'/>
</toast>";
var xml=$@
文本
";
@会带来额外的美元。这是什么意思?符号
$
表示C#中插入的字符串
MSDN:
用法示例:
string zzz = "world";
string helloWorld = $"hello {zzz}"; // hello world
代码中的字符串中没有大括号,因此不会发生实际的值注入-您可以删除
$
,仍然可以得到相同的结果。这是插值字符串,是C#6.0()
基本上,它取代了string.Format(“,params)代码>在旧C#版本中
用法示例:
var str = "test";
var xml = $@"<toast>
<visual>
<binding template='ToastGeneric'>
<text>{str}</text>
</binding>
</visual>
<audio src='ms-winsoundevent:Notification.Looping.Alarm10' loop='true'/>
</toast>";
var str=“test”;
var xml=$@”
{str}
";
好的,我明白了。我的问题应该是$not@$,因为它们没有连接。也许这就是原因,我还没有找到信息……虽然它确实使用了字符串插值修饰符,但实际上根本没有使用字符串插值。@YuvalItzchakov是的,但我想这是我的错误,因为我不知道它是如何工作的。后来我尝试了string.format,但失败了。在发布问题之前,我从文本标记中删除了我的{0},因为我认为这将是另一个问题。