使用空格式的String.Format

5

有人能解释一下以下情况吗:

String.Format(null, "foo") // Returns foo
String.Format((string)null, "foo") // Throws ArgumentNullException:
                                   // Value cannot be null. 
                                   // Parameter name: format

感谢您的选择。
2个回答

11

它正在调用不同的重载函数。

string.Format(null, "");  
//calls 
public static string Format(IFormatProvider provider, string format, params object[] args);

MSDN Method Link 描述如上内容。

string.Format((string)null, "");
//Calls (and this one throws ArgumentException)
public static string Format(string format, object arg0);

MSDN方法链接 描述如上。


我想我们应该提醒大家去购买RedGate Reflector,这样查找会更容易。 ;) - jcolebrand
1
嗯...我更愿意去查看MSDN文档,而不是深入研究反编译工具来获取这种信息。或者我错过了什么笑话吗(是的,反编译工具通常很好用,每个人都应该有它)。 - Chris
1
你是指 Lutz Roeder 的 Reflector 吗?(我仍然没有接受出售) - James King
您也可以右键单击,转到定义并获取所有所需信息。 - Nix

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接