我经常看到一个字符串中包含花括号,通常里面包含一个数字,比如:
string something = "I have {0} cats";
虽然我可以理解这是什么意思,但我从未阅读过与其使用相关的任何文档。C#字符串文档似乎没有任何关于这些内容的信息。有人能指点我一下吗?
我经常看到一个字符串中包含花括号,通常里面包含一个数字,比如:
string something = "I have {0} cats";
虽然我可以理解这是什么意思,但我从未阅读过与其使用相关的任何文档。C#字符串文档似乎没有任何关于这些内容的信息。有人能指点我一下吗?
在 string.Format 中用作值参数的占位符。string.Format("我有 {0} 只猫", 5); 输出 "我有 5 只猫"
因此,您可以使用 string.Format(something, 5); 并获得与上面相同的结果。
string.Format
!现在它们可以表示插入字符串,您可以混合使用C#对象和代码,而无需所有的string.Format
和{0} {1} {2}
开销。
注意:插入字符串以美元符号开头:$
来自上面链接的语言参考页面:
用于构建字符串。插值字符串看起来像包含插值表达式的模板字符串。插值字符串返回一个字符串,该字符串将其包含的插值表达式替换为它们的字符串表示形式。string message = $"Name = {name}, hours = {hours:hh}"; // interpolated
...等同于...
string message = string.Format("Name = {0}, hours = {1:hh}", name, hours); // old school
$"<text> {<interpolated-expression> [,<field-width>] [<:format-string>] } <text> ..."
* 正如@Ben在评论中指出的那样。(抱歉,我在输入时错过了这一点。)
它几乎肯定会在String.Format
调用中使用,其中编号的占位符将被附加参数替换:
string something = "I have {0} cats";
int myNumCats = 2
var theResult = String.Format(something,myNumCats);
查看 http://msdn.microsoft.com/es-es/library/b1csw23d%28v=vs.80%29.aspx,这是 string.format 方法的文档,它是用于将 {0} 替换为值的方法。