Accueil
Articles
Astuces
Vidéos
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Les concaténations de chaines en C#
Nous allons voir au travers de cet article les différents types de concaténations de chaines en C#, comment elles sont optimisées par le compilateur afin de vous aider à choisir la meilleure solution en fonction de votre contexte.
Par
Patrice Lamarche
publié le 02/03/2010 à 14:24, lu 4122 fois, 6 pages
1 commentaire(s)
Tags:
ADO.NET
,
C#
5 | String.Format
1 | Introduction
2 | Opérateur + et String.Concat()
3 | System.Text.StringBuilder
4 | StringBuilder VS String.Concat : Le match
5 | String.Format
6 | Conclusion
String.Format
Nous allons à présent voir si l’utilisation de la méthode Format du type String peut être performante dans le cadre de la concaténation de chaines.
Pour cela, regardons de plus prêt comment est implémentée la méthode Format :
Comme nous pouvons le voir, la méthode utilise en interne un StringBuilder. La méthode Format souffre donc du problème évoqué précédemment pour un petit nombre de concaténations (ce qui est généralement le cas lors de l’utilisation de String.Format).
De plus, la méthode Format n’utilise pas la méthode Append précédemment utilisée mais la méthode AppendFormat. Cette méthode effectue un travail supplémentaire par rapport à la méthode Append puisqu’elle parse le contenu de la chaine afin de savoir comment injecter les différents arguments. On se retrouve une deuxième cause de performance dégradée.
En résumé, la méthode String.Format est moins performante que String.Concat pour la concaténation à cause de l’utilisation d’un StringBuilder en interne et de l’opération de parsing de la chaine.
1
2
3
4
5
6
»
Démarrer une discussion
Quand le nombre de chaines, préférez concat
Chargement ...
Discussion démarée par
bleroy
le 03/03/2010 à 09:00, 1 commentaire(s).
Ecrire un commentaire
Titre
Commentaire
Annuler