la façon la plus rapide de chaîne de remplacement dans un modèle

J'ai quelques modèles de chaîne

c'est mon {0} modèle {1} string

qui j'ai l'intention de mettre les valeurs de l'utilisateur à l'aide de String.Format().

La chaîne est en fait plus tellement pour des raisons de lisibilité j'utilise:

c'est mon {goodName1} modèle {goodName2} string

Et puis String.Replace chaque paramètre et sa valeur.

Comment puis-je obtenir les meilleures performances et la lisibilité?

Peut-être que je ne devrais pas avoir ce modèle dans un fichier (comme maintenant), mais de créer de façon dynamique par concatanating à un générateur de chaîne et en ajoutant les paramètres lorsque nécessaire? Même si c'est moins lisible.

Quels sont mes autres options?

C'est dommage que cette question a tourné dans un débat sur la vitesse. Le repleated String.Replace solution a un problème plus grave. Si le texte de remplacement contient également des sous-chaînes de la forme {goodNameN} alors vont-ils être élargis ou pas? Il s'avère qu'il dépend de l'ordre dans lequel les remplacements sont effectués. C'est le genre de subtils flou que peut reposer à couvert pendant des années et puis morsure des voies mystérieuses de temps après le code est oublié.

OriginalL'auteur Yaron Naveh | 2009-06-06