[C#]Optimisation d'une methode

teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -  
teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut tout le modne,
juste une petit question sur l'optimisation d'une methode, est il plus efficace de faire:

if (!mystring.startwith("Debut"))
{return false}
if (mystring!=Debut.alpha && mystring !=debut.beta,...)
{
return false}

else return true

ou bien alors, sans le if du startwith?

Merci de votre avis :o)

.  .  Dieu a inventé le chat
\_/  pour que l'homme puisse caresser le tigre

2 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    ça dépend: quelle sera la proportion de chaîne commençant par "Debut" en fonctionnement normal ?

    Je pense que c'est à prendre en compte pour le choix.
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Difficile a dire, environ 10% je pense...
      Le probleme c'est qu'il faut que je sorte le plus vite possible de cette fonction, mais tester 2 fois la meme chaine sur des criteres differents certes mais voisins me parait bizzare...

      .  .  Dieu a inventé le chat
      \_/  pour que l'homme puisse caresser le tigre
      0
      1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684 > teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention  
         
        mmm...

        Si tu as beaucoup alpha, beta, etc. ça serait peut-être mieux d'utiliser une Hashtable.

        Dans le constructeur, tu créé ta hashtable:
        Hashtable goodValues = new Hashtable();
        goodValues.Add(Debut.alpha,0);
        goodValues.Add(Debut.beta,0);
        etc.

        puis dans la méthode:
        if (!goodValues.ContainsKey(mystring)) { return false; }
        0
      2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797 > teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention  
         
        J'y ai bien pense, mais j'en ai que 4 (max 5), donc je gagnerai rien et je perdrai en lisibilite je pense...

        .  .  Dieu a inventé le chat
        \_/  pour que l'homme puisse caresser le tigre
        0
  2. pom
     
    bonjour, de la même manière j'ai une question similaire. Que vaut-il mieux faire entre

    if(a==2)
    {
    if(b==3)
    {
    if(c==4)
    blabla
    }
    }

    ou

    if(a==2 && b==3 && c==4) blabla

    d'un point de vu lisibilité la 2e solution me parait meilleure mais d'un point de vue temps de calcul ?

    (je m'étais posé cette question lors d'un prgm en Matlab)

    merci
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Ben la comme tu traites differentes variables, ca depend de la frequence du a=2...

      .  .  Dieu a inventé le chat
      \_/  pour que l'homme puisse caresser le tigre
      0