[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
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
-
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.-
ContributeurDifficile 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 -
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; } -
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
-
-
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