我想在C#中做以下事情(来自Python背景):
strVar = "stack"
mystr = "This is %soverflow" % (strVar)
如何将字符串内部的标记替换为字符串外部的值?
发布于 2012-02-20 07:00:35
string mystr = string.Format("This is {0}overflow", strVar);
您也可以使用named parameters而不是索引。
发布于 2012-02-20 07:10:00
您可以使用string.Format
将值放入字符串中:
private static readonly string formatString = "This is {0}overflow";
...
var strVar = "stack";
var myStr = string.Format(formatString, "stack");
另一种方法是使用C#连接运算符:
var strVar = "stack";
var myStr = "This is " + strVar + "overflow";
如果您正在进行大量的连接,请使用StringBuilder
类,它更高效:
var strVar = "stack";
var stringBuilder = new StringBuilder("This is ");
for (;;)
{
stringBuilder.Append(strVar); // spot the deliberate mistake ;-)
}
stringBuilder.Append("overflow");
var myStr = stringBuilder.ToString();
发布于 2015-01-19 09:36:22
如果您当前使用Visual Studio2015和C# 6.0,请尝试以下操作:
var strVar = "stack";
string str = $"This is {strVar} OverFlow";
这个特性叫做字符串插值。
https://stackoverflow.com/questions/9354154
复制相似问题