The first thing I did when I got to upgrade to VS2008 and C#3, was to do this
public static string F( this string format, params object[] args )
{
return String.Format(format, args);
}
So I can now change my code from
String.Format("Hello {0}", Name);
to
"Hello {0}".F(Name);
which I preferred at the time.
Nowadays (2014) I don't bother because it's just another hassle to keep re-adding that to each random project I create, or link in some bag-of-utils library.
As for why the .NET designers chose it? Who knows. It seems entirely subjective.
My money is on either
- Copying Java
- The guy writing it at the time subjectively liked it more.
There aren't really any other valid reasons that I can find