Peut-être Eric Lippert Il a toujours les notes de conception à ce sujet, mais à part cela, je ne pense pas que l'on puisse répondre de manière précise à cette question.
Néanmoins, si vous en avez désespérément besoin, vous pouvez écrire une méthode d'extension :
public static string Format(this string fmt, params object[] args) {
return string.Format(fmt, args);
}
Mon devinez est que la plupart des méthodes de chaînes de caractères exploiter sur la chaîne de caractères, en la transformant d'une manière simple et prévisible, comme par exemple Substring
, Replace
y PadLeft
. Avec Format
la chaîne de base est juste un modèle qui est appliqué pour intégrer les opérandes. Conceptuellement, la plupart des méthodes d'instance sur string
peut être considéré comme la manipulation d'un string
(Je sais, ce n'est pas ce qui se passe, je ne fais que dresser un tableau), alors que les méthodes statiques fonctionnent simplement avec.
Comme indiqué, ce n'est qu'une supposition. En fin de compte, il ne s'agissait probablement que d'une décision et la raison s'est perdue dans le temps.