Aller au contenu

String & StringBuilder


Wolfae

Messages recommandés

Niveau requis Intermédiaire

Temps estimé : 30 minutes

Bonjour,

 

Dans ce mini-tutoriel un peu avancé, je voudrais vous expliquer un petit détail sur les string qui changera votre vie.. Ou plutôt, la vie de votre programme. Evidemment, presque tous d'entre nous créent une variable string, et la change.

 

Révélation

 

Sachez que le type String (Au moins, en C#) n'est pas modifiable. L'IDE comprend bien sûr quand vous écrivez :

string funky = "funkyemu";
funky += "tuto";
Mais en fait, il génère un nouveau string (Qui devient funky). Bref, un tas de trucs. Et alors ? Alors, c'est lent. Or, si on utilise "StringBuilder" :
StringBuilder funkyb = new StringBuilder("FunkyEmu");
funkyb.Append("tuto");
string funky = funkyb.ToString();
C'est mieux. Preuve vous dites ? Un sysadmin d'un certain site web (qui m'a d'ailleurs poussé à faire ce tutorial) a fait un petit test : Une boucle qui se répète 100 000 fois, et ajoute '.' à un string à chaque fois ; Et un autre programme avec la même boucle, mais qui append '.' à un stringbuilder puis instancie un string (string funky = funkyb.ToString();)

 

Résultat :

 

  • Programme 1 : 20 secondes à peu près.
  • Programme 2 : Une-deux secondes.

 

Bon, je ne connais pas la configuration de son ordinateur, les résultats seront différents mais c'est sûr que Programme 2 > Programme 1 en vitesse. Je vous invite à voir le site web pour des détails sur le truc. Il contient aussi pas mal de tutoriaux avancés. Il est en anglais.

 

J'allais oublier. Vous pouvez faire ça, aussi :

StringBuilder funkyb = new StringBuilder("funkyemu");
funkyb.Insert(0, "Tutoriel");
Ceci insert un string dans le stringBuilder en précisant :
  • L'index (= Position de départ de l'ajout du string..)
  • Le string.

 

Note : L'index est de base 0.

 

Conclusion de ce mini-tutoriel : La classe StringBuilder est une façon beaucoup plus pratique et rapide d'utiliser des strings. Ceci n'est pas seulement pour le C# mais aussi le VB.Net. Veillez à l'utiliser quand vous en avez besoin! (;

 

 

Cordialement,

Heaven Team 2012

Non mudera, potius mori quam foedari.

 

Connaissances : C#, VB.net, JavaScript, PHP

Libre service.

Lien vers le commentaire
  • Réponses 1
  • Created
  • Dernière réponse

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


  • Flux d'Activité

    1. 5

      Metin2 Download - Migration

    2. 0

      C++ Wiki Ingame

    3. 38

      Installer Ancestra Remake 54

    4. 2

      Ajouter une Commande Lau

    5. 2

      Ajouter une Commande Lau

    6. 2

      Ajouter une Commande Lau

    7. 38

      Installer Ancestra Remake 54

    8. 5

      Metin2 Download - Migration

    9. 3

      L'E3 2021, on en parle !

  • En ligne récemment

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.