String.Format某些参数

MrJ*_*rJD 4 c# string string-formatting

我认为这是一个常见问题,但我似乎无法在SO或谷歌上找到任何东西.

是否可以只格式化一个参数.例如,格式化,string foo = "{0} is {1} when {2}";以便它返回读取"{0} is cray when {2}"

意图:
我试图格式化字符串,同时覆盖方法,然后在它的基本方法中进行格式化

成功
归功于这个答案,所有答案都很有帮助:).

这个单元测试工作:

string foo = String.Format("{0} is {1} when {2}", "{0}", "cray", "{2}");
Assert.AreEqual("{0} is cray when {2}", foo);
string bar = string.Format(foo, "this", null, "it works");
Assert.AreEqual("this is cray when it works", bar);
Run Code Online (Sandbox Code Playgroud)

Pau*_*ora 6

从表面上看你的问题,我想你可以做到以下几点:

string foo = String.Format("{0} is {1} when {2}", "{0}", "cray", "{2}");
Run Code Online (Sandbox Code Playgroud)

也就是说,只需用自己替换每个未评估的格式项.