J'ai un tampon de chaîne d'environ 2000 caractères et je dois vérifier si le tampon contient une chaîne spécifique.
Effectue la vérification dans une application Web ASP.NET 2.0 pour chaque requête Web.
Quelqu'un sait-il si le Méthode String.Contains est plus performant que Méthode String.IndexOf ?
// 2000 characters in s1, search token in s2
string s1 = "Many characters. The quick brown fox jumps over the lazy dog";
string s2 = "fox";
bool b;
b = s1.Contains(s2);
int i;
i = s1.IndexOf(s2);
16 votes
Si vous avez besoin de faire cela un milliard de fois par requête web, je commencerais à jeter un coup d'oeil à des trucs comme ça. Dans tous les autres cas, je ne m'en préoccuperais pas, car le temps passé dans l'une ou l'autre méthode sera très probablement incroyablement insignifiant par rapport à la réception de la requête HTTP en premier lieu.
2 votes
L'une des clés de l'optimisation est de tester au lieu de supposer, car cela peut dépendre de nombreux facteurs tels que la version .NET, le système d'exploitation, le matériel, la variation de l'entrée, etc. Dans de nombreux cas, les résultats des tests effectués par d'autres peuvent être très différents sur votre système.