Si j'ai un tableau d'ints, et je veux vérifier rapidement si une certaine valeur d'int est dans ce tableau, existe-t-il une méthode pour le faire?Comment trouver si une valeur est dans un tableau dans Visual C#
Répondre
Si le tableau est trié, alors c'est le plus rapide:
Array.BinarySearch(myArray, value) >= 0;
Si le tableau est recherché beaucoup et rarement modifié, alors vous pouvez trouver utile de trier le tableau après modification (en utilisant Array.Sort
) et d'utiliser ce qui précède. Dans le cas contraire, utilisez l'option que vous préférez:
Array.IndexOf(myArray, value) >= 0; //.Net 1
Array.Exists(array, delegate(int x) { return x == value; }); //.Net 2
myArray.Contains(value); //.Net 3
IndexOf
a les meilleures performances pour les tableaux non triés. La deuxième option utilise un délégué de prédicat et la troisième nécessite la création d'un objet énumérateur.
Enumerable.Contains si vous utilisez C# 3.0 ou ultérieur.
par exemple.
var contained = myArray.Contains(4);
var myArray = new [] { 1, 2};
if myArray.Contains(1)
{
do something
}
Vous devrez peut-être un using System.Linq;
Bonté,
Dan
Utilisez par exemple ceci, si vous voulez vérifier si votre tableau contient l'int 0:
if (your_int_array.Contains(0))
{
//Code
}
Vous pouvez utiliser la méthode IndexOf:
int[] array = new int[] { 1, 2, 3 };
bool isArrayContains17 = Array.IndexOf(array, 17) > -1;
Essayez cette fonction:
public static bool FindValueFromArray(object[] Values,object valueToSearch){
bool retVal = false;
Array myArray = (Array)Values;
int found = Array.BinarySearch(myArray, valueToSearch);
if (found != -1){
retVal = true;
}
return retVal;
}
Hope this helps.
La recherche binaire ne fonctionne que si le tableau est trié –
Et vous votez mon commentaire en fonction de cela? –
J'ai +1. Mais j'ajouterais que le tri est nécessaire et que cela ne vaut vraiment la peine que si vous faites des recherches répétées. – RichardOD
Les Enumerable.Contains() est votre ami dans .NET Framework 3.5 ...
Si vous utilisez .NET 3.5 – RichardOD
@RichardOD: Vous avez raison. Modification de la réponse ... – EricSchaefer
- 1. essai JPQL si la valeur est dans un tableau
- 2. Comment créer un tableau un regard si une valeur est dans le tableau
- 3. Comment puis-je savoir si une valeur est dans un tableau en C?
- 4. Déterminer si une valeur existe dans un tableau de hachages
- 5. trouver une valeur minimale dans un tableau de flottants
- 6. Trouver une valeur dans un tableau de tableaux
- 7. C# Trouver si un mot est dans un document
- 8. Comment comparer une valeur dans un tableau?
- 9. Comment puis-je déterminer si une valeur est dans un tableau Perl?
- 10. Comment vérifier si une valeur est un entier dans MySQL?
- 11. Comment trouver un élément dans un tableau en C
- 12. C# comment trouver une valeur dans une liste collection
- 13. trouver la valeur min dans le tableau int avec C#
- 14. Rechercher si une chaîne est présente dans un tableau
- 15. comment trouver si une chaîne est contenue dans une autre
- 16. Comment vérifier si * nombre * est dans un tableau
- 17. Trouver la clé de valeur minimale dans un tableau associatif
- 18. Comment vérifier si un tableau est dans un format spécifique
- 19. Comment trouver un certain nombre dans une programmation Array C?
- 20. Comment trouver une chaîne dans un tableau en PHP?
- 21. Trouver une valeur dans DataTable
- 22. Comment faire pour effacer un tableau dans Visual C#
- 23. Comment trouver si l'ordinateur local est dans un domaine?
- 24. Comment trouver si la plage est contenue dans un tableau de plages?
- 25. Comment trouver l'index d'un tableau qui a une valeur maximale
- 26. Vérifiez si une valeur est dans une collection avec LINQ
- 27. alternative à vérifier, si une valeur est dans un ensemble
- 28. Comment trouver des "trous" dans un tableau
- 29. Une façon pythonique de trouver si une valeur est entre deux valeurs dans une liste
- 30. comment trouver une valeur dans la rangée?
Cette nouvelle méthode de Contains n'est pas très médiatisée. –