Moyen le plus rapide pour comparer une chaîne avec un tableau de chaînes de caractères en C#2.0
Quel est le moyen le plus rapide pour comparer une chaîne avec un tableau de chaînes de caractères en C#2.0
Vous devez vous connecter pour publier un commentaire.
Vous dire pour voir si la chaîne est dans le tableau? Je ne me souviens pas si les tableaux de soutenir le .Méthode contains (), donc si pas, créer une List< string >, ajouter votre tableau à la liste via AddRange(), puis de la liste d'appels.Contient({string pour comparer}). Retourne une valeur booléenne indiquant si la chaîne est dans le tableau.
(new List<String>(array)).Contains(targetString);
- mais à partir de 3,5 vous avez l'interface IEnumerable<String>.Contient extension de la méthode, il est donc disponible pour les tableaux aussi.Array.IndexOf(arr, val) >= 0
.Ce genre de comparaison que vous voulez? Voulez-vous savoir si la chaîne est dans le tableau?
voulez-vous un tableau de valeurs de comparaison (positif, négatif, zéro)?
Si vous êtes à la vérification de confinement (c'est à dire de la première option) et vous allez le faire avec plusieurs chaînes, il serait probablement préférable de construire un
HashSet<string>
du tableau:Si vous faites cela plusieurs fois avec un seul tableau, vous devez trier le tableau binaire et qu'il recherche:
Sinon, il suffit de vérifier l'ensemble de la matrice naïvement:
//récupère les données dans la liste à partir de la source
Liste liste = Répertoire.GetFiles(SourcePath, ".", SearchOption.AllDirectories).Où(x => x.ToLower().EndsWith("apk")).ToList();