‫D'accord, alors maintenant que, vous savez, l'idée générale des délégués, regardons-les en action et pour mieux les comprendre, nous
‫allons commencer par utiliser un délégué qui existe déjà en C Sharp.
‫Donc, tout d'abord, commençons par définir une simple liste de chaînes appelées noms.
‫Et puis je vais utiliser ça.
‫Disons que je veux supprimer des noms.
‫Donc ici il y a cette méthode remove all et donc remove all method me permet de supprimer tous les
‫éléments qui correspondent aux conditions définies par le prédicat spécifié.
‫Vous voyez donc que ce mot-clé de prédicat vert ici est essentiellement ce que nous pouvons transmettre.
‫C'est donc essentiellement ici un délégué qui est attendu.
‫Le prédicat est simplement le nom du délégué attendu.
‫Une fois que vous aurez cliqué dessus, vous le trouverez ici.
‫Le délégué public prédicat.
‫Vous pouvez donc voir que le prédicat est le délégué qui prend un objet de T, ce qui signifie un type
‫spécifique.
‫Dans ce cas, T est le type de nos éléments de liste.
‫Donc dans notre cas, c'est une chaîne et elle renvoie un booléen.
‫Ainsi, lorsque nous appelons la méthode remove all, ce prédicat sera appelé sur chaque nom de notre liste.
‫Si nous lisons la documentation, nous apprendrons que le bool qui est renvoyé par ce prédicat déterminera si oui
‫ou non cet élément sera supprimé de la liste.
‫S'il renvoie true, l'élément sera supprimé.
‫Et c'est notre travail d'écrire ces règles qui déterminent le sort de nos noms dans notre liste.
‫Donc de ces noms que nous avons ici, qui signifie Aden si Alter et Anatoliy.
‫Après tout, les personnes qui ont écrit le code derrière la méthode remove all ne peuvent pas lire dans nos pensées pour déterminer les
‫règles que nous voulons.
‫Exactement.
‫C'est pourquoi nous allons créer notre propre méthode qui correspond à la définition du délégué de prédicat et
‫la passer à la méthode remove all.
‫Disons que nous voulons supprimer tous les noms qui contiennent la lettre I afin que nous puissions écrire notre méthode de filtrage comme
‫ceci.
‫Nous créons donc simplement un filtre de pool statique, qui prendra une chaîne.
‫C'est donc notre méthode appelée filter et nous retournons si la chaîne contient la lettre I.
‫Et ici, nous utilisons la méthode contenue, qui renverra un booléen, qui renverra vrai ou
‫faux.
‫Donc ici le contenu, vous voyez qu'il prend une chaîne vérifie si elle contient cela et ensuite il renvoie un booléen.
‫Donc, ce que nous faisons ici, c'est que nous retournons en fait un booléen.
‫Et il prend une chaîne comme paramètre, donc fondamentalement, nous retournerons true si la chaîne contient I, puis la
‫méthode remove all exécutera cette méthode de filtrage sur tous les éléments de notre liste.
‫Passons maintenant notre méthode de filtrage à la méthode remove all que nous avons ici, qui n'est pas encore terminée et
‫qui a encore besoin d'un délégué que nous pouvons lui transmettre.
‫Et ajoutons A pour chaque boucle avant et après la méthode remove all juste pour l'observation.
‫Je vais donc ajouter ce petit rhume ici où je dis juste que c'est ce qui s'est passé avant.
‫Nous écrivons donc une liste de noms sur la console avec tous les noms qui sont dans notre liste ici.
‫Et puis nous supprimons tout cela, suivons un certain filtre et nous le réexécutons.
‫Maintenant, ce filtre que nous passons, vous voyez, nous n'utilisons pas les crochets ici, même
‫si c'est une méthode, donc fondamentalement nous passons une méthode en paramètre ici et nous vérifions si la chaîne que
‫nous 're passant contient un oeil.
‫Alors exécutons-le et voyons quels noms contiennent.
‫Et moi.
‫Donc, si nous avons identifié Walter et Anatoly, et après cela, nous avons tous supprimé sauf Walter parce que Walter était une
‫chaîne qui ne contenait pas d'œil.
‫D'ACCORD.
‫Et c'est essentiellement ainsi que nous avons utilisé un délégué qui existait déjà.
‫Et maintenant, nous avons utilisé une méthode qui nécessite un délégué que nous pouvons lui transmettre.
‫Donc, en gros, ce qui s'est passé, c'est que les noms, il y a de petites chaînes ici.
‫A été donné pour tout supprimer et vérifié un par un avec le filtre que nous avons utilisé ici, il
‫a donc passé chaque valeur des noms, l'un après l'autre dans notre méthode de filtrage, a parcouru le filtre et renvoyé
‫s'il était supprimé ou non.
‫Donc ce booléen sera vrai si I est contenu dans la chaîne qui a été passée.
‫Donc, cette chaîne que nous examinons actuellement dans notre liste de noms et si cette année renvoie true, alors la méthode
‫de filtrage renverra true.
‫Ce qui conduira alors à supprimer tout en prenant soin de supprimer le nom de la liste des noms.
‫D'accord.
‫Ce n'était donc qu'un exemple de délégué.
‫Et vous voyez, nous n'avons pas passé spécifiquement ici ce que nous voulons avoir.
‫Nous n'avons donc pas dit quelle chaîne nous voulions prendre, par exemple, en disant que le nom commence par un index ou
‫autre.
‫Nous n'avions rien à faire de tout cela parce que, eh bien, supprimez tout ce que vous attendez d'un délégué ici, et c'est ce que nous lui
‫avons transmis.
‫Si cela reste un peu confus, ne vous inquiétez pas, nous aurons quelques exemples supplémentaires, qui
‫vous aideront certainement à mieux comprendre les délégués, car nous allons en créer
‫nous-mêmes et cela en fera beaucoup plus. sens.
‫Alors rendez-vous dans la prochaine vidéo.