3.5框架中的哪些方法具有类似String.Format的签名?

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框架.

Mar*_*ers 4

整个框架中有很多方法支持这一点。TextWriter 的所有子类(以及StreamWriterStringWriter及其子类)都将继承支持此功能的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)