J'ai besoin de convertir une collection de i l'avez fait de cette façon pour le moment: p> mais pas sûr que ce soit le meilleur moyen de le faire, un constructeur à cordes serait-il meilleur? Je suppose que la collection contiendra un max de 10 paires. P> p>
3 Réponses :
Cordeur de cordes irait bien. Utilisez l'annexe pour ajouter chaque chaîne au constructeur de cordes. P>
Fondamentalement la seule raison pour laquelle Concat, remplacer, rejoindre, String + String, etc. sont considérés comme non-les-meilleurs car ils ont tous tendance à détruire la chaîne actuelle et recréer un nouveau. P>
Alors, lorsque vous avez ajouté des cordes comme jusqu'à 10-12 fois, cela signifie vraiment que vous allez détruire et recréer une chaîne à plusieurs reprises. p>
Avec une telle petite collection, il n'ya pas beaucoup de problème de performance, mais j'utiliserais probablement un StringBuilder pour ajouter toutes les valeurs.
Comme ceci: P>
var sb = new Text.StringBuilder; foreach (var item in requestParameters) { sb.AppendFormat("{0}{1}", item.Key, item.Value); } var parameters = sb.ToString();
Mais ceci est juste dupliquer ce que string.join code> est en interne (l'OP semble être sur .NET 4.0, il a donc accès à la surcharge qui accepte une
ienumerable
.NET 4.0 apporté avec elle Une surcharge accepte Incidemment, la fissuration Ouvrez la source pour la première surcharge dans Réflecteur Affiche le code qui suit assez près de Ce que Davisoa a suggéré : p> donc en d'autres termes, si vous deviez changer ce code pour utiliser un string.join code> n'est pas vraiment la meilleure option car il est uniquement accepté
string [] code> ou
objet [] code> paramètres, exigeant que Tout
SELECT code> -Style requis doit être complètement évalué et mettre dans un tableau d'abord.
ienumerable
- qui est ce que vous utilisez strong> - - et même une surcharge qui accepte tout ienumerable
. Ce sont définitivement votre meilleur choix car ils font maintenant partie de la BCL. P> Stringbuilder code>, vous réécrivez simplement ce que MS a déjà écrit pour vous. P> p>
Votre chemin semble assez gentil et compact.