这个问题真的不难理解。我一直想知道这一点,并想知道如果可能的话,怎么办呢。如果可能的话,这就是我想做的事情:
int number = 50;
string text = "The number is %number";
我在上面的string
中写了 %number ,我希望将number
的值插入{{1}因为我通常会做这样的事情就像:
string
是的,我将 int number = 50;
string text = "The number is " + number.ToString();
整合到上面的number
的方式是一种好的方式,但我一直想知道,是否有可能做一些事情,比如我写的第一个例子,将string
的值放入object
的所有位置,您需要编写某种类型的string
或character
(用于引用string
} {}以及object
的名称加入object
以获得string
的结果,其中包含string
的值?或者你能做到这一点吗?
答案 0 :(得分:5)
您可以使用string.Format
:
string text = string.Format("The number is {0}", number);
请注意,所有对象都有ToString
方法,这意味着所有对象都可以用作string.Format
的参数,但ToString
的默认响应是返回全名这种类型,可能没什么意义。
例如,这个:
public class Dummy
{
}
var d = new Dummy();
string text = string.Format("The dummy is {0}", d);
会将以下值分配给text
:
"The dummy is Your.Namespace.Dummy";
您有两种选择:
ToString
并为您的新类型返回有意义的内容取消财产或其他东西,例如:
string text = string.Format("The dummy is {0}", d.SomeProperty);
另请注意string.Format
可以使用多个参数:
int a = 10;
int b = 20;
int c = a + b;
string text = string.Format("{0} + {1} = {2}", a, b, c);
string.Format
比我在此处显示的要多得多,因此请点击文档链接(此答案的第一行)以了解更多信息。
答案 1 :(得分:0)
您可能需要检查 Sting.Format
string text = String.Format("The number1 is {0},number2 is {1}", number1, number2);
还有必要检查this关于 的讨论。何时使用String.Format vs string concatenation ? `