[C#]Optimisation d'une methode

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. Modérateur
    ç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. Contributeur
      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
    2. Modérateur
      @teebommm...

      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
    3. Contributeur
      @teeboJ'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. 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. Contributeur
      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