YSearch (T) Méthode (T, T) (Système)

L'objet à rechercher.

Valeur de retour

L'indice de la valeur indiquée dans le tableau spécifié. si la valeur est trouvée; sinon, un nombre négatif. Si la valeur ne se trouve pas et la valeur est inférieure à un ou plusieurs éléments en tableau. le nombre négatif de retour est le complément au niveau du bit de l'index du premier élément qui est supérieure à la valeur. Si la valeur est introuvable et la valeur est supérieure à tous les éléments dans le tableau. le nombre négatif de retour est le complément au niveau du bit de (l'indice du dernier élément plus 1). Si cette méthode est appelée avec un tableau non trié. la valeur de retour peut être incorrect et un nombre négatif pourrait être retourné, même si la valeur est présente dans le tableau.

Paramètres de type

Le type des éléments du tableau.

Cette méthode ne prend pas en charge des réseaux de recherche qui contiennent des index négatifs. tableau doit être trié avant d'appeler cette méthode.

Si le tableau ne contient pas la valeur spécifiée, la méthode retourne un nombre entier négatif. Vous pouvez appliquer l'opérateur de complément au niveau du bit (

en C #, pas en Visual Basic) au résultat négatif pour produire un indice. Si cet indice est égal à la taille du tableau, il n'y a pas d'éléments de plus de valeur dans le tableau. Dans le cas contraire, il est l'indice du premier élément qui est supérieure à la valeur.

T doit mettre en œuvre la IComparable interface générique, qui est utilisé pour les comparaisons. Les éléments de la matrice doivent être déjà classés en valeur croissante en fonction de l'ordre de tri défini par la IComparable la mise en oeuvre; sinon, le résultat pourrait être incorrect.

éléments en double sont autorisés. Si le tableau contient plus d'un élément égal à la valeur. la méthode retourne l'index d'une seule des occurrences, et pas nécessairement le premier.

null peut toujours être comparé à tout autre type de référence; Par conséquent, les comparaisons avec nul ne génèrent pas une exception.

Pour chaque élément testé, la valeur est passée à la IComparable appropriée la mise en œuvre, même si la valeur est nulle. Autrement dit, le IComparable détermine la mise en œuvre d'un élément donné compare à null.

L'exemple de code suivant illustre la Trier (T []) de surcharge de la méthode générique et le BinarySearch (T [], T) la surcharge de méthode générique. Un tableau de chaînes est créé, sans ordre particulier.

Le tableau est affiché, triée et affiche à nouveau. Les tableaux doivent être triés afin d'utiliser le BinarySearch méthode.

Les appels à la Trier et BinarySearch méthodes génériques ne semblent pas différents des appels à leurs homologues non génériques, parce que Visual Basic, C # et C ++ déduire le type du paramètre de type générique du type du premier argument. Si vous utilisez le Ildasm.exe (IL désassembleur) pour examiner le langage intermédiaire Microsoft (MSIL), vous pouvez voir que les méthodes génériques sont appelés.

le BinarySearch (T [], T) surcharge de méthode générique est ensuite utilisé pour rechercher deux chaînes, qui ne sont pas dans le tableau et qui est. Le tableau et la valeur de retour de la BinarySearch méthode sont transmis à la méthode générique ShowWhere, qui affiche la valeur d'index si la chaîne se trouve, et par ailleurs les éléments de la chaîne de recherche se situerait entre si elle était dans le tableau. L'indice est négatif si la chaîne se trouve pas dans le tableau, de sorte que le procédé ShowWhere prend le complément de bits (le

opérateur en C # et Visual C ++, Xor -1 dans Visual Basic) pour obtenir l'indice du premier élément dans la liste qui est plus grande que la chaîne de recherche.