Suite au post que j'ai vu hier (Utiliser string.ToLower() c'est mal !), je me suis amusé a compararer quelques méthode du framework afin de sélectionner les plus rapide et les mettre dans mon code.
Voici mes premiers résultats :
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (val.ToUpper().Contains("une".ToUpper()) == false)
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (val.IndexOf("une",0,StringComparison.InvariantCultureIgnoreCase) == -1)
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part cs = cs + "test";
(csb étant un StringBuilder et cs une simple string. La boucle est exécuter 3000 fois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part csb.Append("test");
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (val == "")
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (string.IsNullOrEmpty(val))
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part string a = "toto " + val + " toto";
Code : Sélectionner tout - Visualiser dans une fenêtre à part string a = string.Format("toto {0} toto", val);
Pour le coup la contaténation est plus rapide que le string.Format, pas très logique je trouve. A creuser...
Pour Neptune et Nip
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ((val == null) || (val == ""))
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (string.IsNullOrEmpty(val))
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ((val == null) || (val.Length == 0))
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (string.IsNullOrEmpty(val))
testé 1 000 fois et 3 000 000 de fois à chaque fois sinon le vainqueur était toujours différent
Plus de détail ici http://dotnetperls.com/Content/IsNul...y-Samples.aspx
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DateTime dtDateTime; try { dtDateTime = DateTime.Parse(val); //val étant une string contenant "01/01/2008" } catch { dtDateTime = DateTime.MinValue; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DateTime dtDateTime; DateTime.TryParse(val, out dtDateTime);
VS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DateTime dtDateTime; try { dtDateTime = DateTime.Parse(val); //val étant une string contenant "01/01/a008" } catch { dtDateTime = DateTime.MinValue; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DateTime dtDateTime; DateTime.TryParse(val, out dtDateTime);
Et vous, vous avez aussi des méthode à préconiser par rapport à d'autres ?
Partager