比较
String.Format("Hello {0}", "World");
与
"Hello {0}".Format("World");
为什么 .Net 设计者选择使用静态方法而不是实例方法?您的看法是什么?
String.Format必须是一个静态方法,因为字符串是不可变的。将其作为实例方法会意味着您可以使用它来“格式化”或修改现有字符串的值。这是不可能的,而使其成为返回新字符串的实例方法也没有意义。因此,它是一个静态方法。
.NET 字符串是不可变的
因此,拥有一个实例方法完全没有意义。
String foo = new String();
foo.Format("test {0}",1); // Makes it look like foo should be modified by the Format method.
string newFoo = String.Format(foo, 1); // Indicates that a new string will be returned, and foo will be unaltered.