Red*_*ter 5 c# string .net-3.5
我只是注意到我可以做到以下几点,这让我感到非常惊讶:
Console.WriteLine("{0}:{1}:{2}", "foo", "bar", "baz");
Run Code Online (Sandbox Code Playgroud)
这也适用于该Write方法.还有哪些其他方法有签名支持这一点,而不需要使用String.Format?
Debug.WriteLine不...
HttpResponse.WriteLine不......
(另一方面,我找不到使用Reflector快速搜索的方法.搜索特定签名的好方法是什么?)
编辑:
专门针对3.5框架.
整个框架中有很多方法支持这一点。TextWriter 的所有子类(以及StreamWriter和StringWriter及其子类)都将继承支持此功能的Write方法。
另一个经常使用的例子是StringBuilder.AppendFormat。
您也可以编写自己的方法来支持这一点。您可以通过使用格式字符串参数和另一个带有params关键字的参数进行重载来实现此目的,如下所示:
public void Foo(string message) {
// whatever
}
public void Foo(string format, params string[] arg) {
Foo(string.Format(format, arg));
}
Run Code Online (Sandbox Code Playgroud)