IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.NET] StringBuilder Vs String.Format


Sujet :

Windows Forms

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Points : 139
    Points
    139
    Par défaut [VB.NET] StringBuilder Vs String.Format
    Bonjour,

    Etant tjrs dans ma quête de performace, j'aimerais savoir ce qui est mieux :

    Utilisé StringBuilder ou String.Format ?

    La méthode en question est appelée relativement souvent dans un traitement (entre 10 et 1000 fois ...) !

    A la fin je garde la chaine et donc fait un toString sur le StringBuilder ...

  2. #2
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    En interne String.Format fait appel a un stringbuilder mais en plus il definit sa capacite a partir des parametres: c'est + pratique

    t'as combien de concatenations a faire?

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Points : 139
    Points
    139
    Par défaut
    Au maximum 10 concaténations !

  4. #4
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    D'apres un bench que j'ai pu lire sur le net, et que je retrouve pas...

    Si tu connais la taille de la string resultante precisement (et que tu la specifie lors de la creation), le stringbuilder est efficace a partir de 3 concatenations

    Autrement a partir de 6-7 concatenations

    String.Format definit la taille du StringBuilder donc c'est parfait

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Points : 139
    Points
    139
    Par défaut
    Alorsn comme je suis pas sur de tout comprendre ; je reformule :-)

    1) Un stringbuilder a qui tu spécifies sa taille est plus efficace qu'une concaténation de string à partir de 3 concacténations,

    2) A partir de 6-7 concacténations, un String.Format utilise un StringBuilder en lui spécifiant la taille et est donc plus efficace !

    J'ai bien tout compris ?

    Ps : je verrais bien cette question dans la FAQ ... mais c un avis perso !

  6. #6
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    le string.format() estime la taille de la string d'origine et eventullement des params qui lui sont passes: elle est efficace a partir de 3 concatenations

    j'ai retrouve le lien, c'etait un blog en fait. Super detaille comme bench
    http://www.heikniemi.net/hc/archives/000124.html

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Points : 139
    Points
    139
    Par défaut
    Merci !!!!

    A garder dans les liens !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#]String.Format avec un Array
    Par backseatgreg dans le forum C#
    Réponses: 11
    Dernier message: 27/11/2005, 17h22
  2. [VB.NET] Extraire infos string
    Par guillaume1998 dans le forum VB.NET
    Réponses: 11
    Dernier message: 06/11/2005, 21h02
  3. [c#] string.Format argggggg
    Par the_bmo dans le forum C#
    Réponses: 6
    Dernier message: 04/11/2005, 16h06
  4. [C#] String.Format
    Par alexischmit dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/05/2004, 11h58
  5. [VC++ .NET] String::Format({?}, ...
    Par benoitB dans le forum MFC
    Réponses: 2
    Dernier message: 15/12/2003, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo