Peut-être Eric Lippert a toujours les notes de conception sur cela, mais à part cela, je ne pense pas que cela puisse être répondu avec précision.
encore, comme une solution de contournement, si vous avez besoin désespérément cela, alors vous pouvez écrire une méthode d'extension:
public static string Format(this string fmt, params object[] args) {
return string.Format(fmt, args);
}
Mon conjecture est que la plupart des méthodes de chaîne réellement fonctionnent sur la chaîne, le transformant d'une manière directe et prévisible, telle que Substring
, Replace
et PadLeft
. Avec Format
la chaîne de base est juste un modèle qui est appliqué pour intégrer les opérandes dans. Conceptuellement, la plupart des méthodes d'instance sur string
peuvent être considérées comme manipulant un string
(je sais, ce n'est pas ce qui se passe, je ne fais que peindre une image ici), alors que les méthodes statiques fonctionnent juste avec.
Comme indiqué, juste une supposition. En fin de compte c'était probablement juste une décision et la raison a été perdue à temps.
'Compare',' Concat' et 'Join' sont également partagés. Cela ne vous dérange pas? – Oded
Ouais - especial Join, mais cela ne change pas ma question ... – DanielAt