2

这个问题真的不难理解。我一直想知道这一点,想知道如果可能的话,怎么可能做到。好吧,如果可能的话,这就是我想做的事情:

    int number = 50;
    string text = "The number is %number";

我在上面写了%numberstring的地方,我希望将 的值number插入到 中string,因为我通常会做这样的事情的方式是:

    int number = 50;
    string text = "The number is " + number.ToString();

是的,我整合numberstring上面的方式是一种不错的方式,但我一直想知道,是否有可能做一些事情,比如我写的第一个例子,在哪里把 an 的值object放入 a stringall 你会要做的就是写一些类型的characteror string(用来引用的object),连同in的名字一起object变成astring来得到a的结果和instring的值object吗?或者有什么类似的事情你能做到吗?

4

2 回答 2

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";

你有两个选择:

  1. 覆盖ToString并返回对你的新类型有意义的东西
  2. 改为读取属性或其他内容,例如:

    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除了我在此处显示的内容之外,还有很多内容,因此请单击文档链接(此答案的第一行)以了解更多信息。

于 2013-03-02T19:18:17.043 回答
0

你可能需要检查 Sting.Format

string text = String.Format("The number1 is {0},number2 is {1}", number1, number2);

还值得检查有关何时使用 String.Format 与字符串连接更好的讨论?`

于 2013-03-02T19:19:28.863 回答