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#
6 | Conclusion
1 | Introduction
2 | Opérateur + et String.Concat()
3 | System.Text.StringBuilder
4 | StringBuilder VS String.Concat : Le match
5 | String.Format
6 | Conclusion
Conclusion
L’opérateur + et la méthode Concat() ne sont pas aussi lentes que ce que l’on a tendance à croire ou à entendre. Le compilateur transforme les appels à l’opérateur + en appels à cette même méthode qui est performante puisque faisant directement appel au Garbage Collector pour l’allocation d’une zone mémoire de taille fixe et à du code unsafe afin de manipuler string sous forme de pointeurs de caractères.
Ce n’est pas l’appel à l’opérateur + ou à la méthode Concat() qui est couteux
c’est l’utilisation de plusieurs expressions de concaténation
qui est couteuse en terme :
De performance, car cela multiplie le nombre de réelles concaténations
D’utilisation mémoire, car on multiplie le nombre d’allocations mémoire
Dans le cadre d’un grand nombre d’expressions de concaténations (qui dépend de la taille des chaines à concaténer comme vu dans le Benchmark), il faudra donc passer par le StringBuilder.
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