‫Oké, dus nu, je weet wel, het algemene idee van afgevaardigden, laten we ze in actie bekijken en om ze beter te begrijpen,
‫zullen we beginnen met het gebruik van een afgevaardigde die al bestaat in C Sharp.
‫Laten we dus allereerst beginnen met het definiëren van een eenvoudige lijst met strings die namen worden genoemd.
‫En dan ga ik dit gebruiken.
‫Laten we zeggen dat ik er namen uit wil verwijderen.
‫Dus hier is deze methode voor alles verwijderen en dus met de methode Alles verwijderen kan ik alle elementen verwijderen die
‫overeenkomen met de voorwaarden die zijn gedefinieerd door het opgegeven predikaat.
‫Dus je ziet dat dit groene predikaat-sleutelwoord hier eigenlijk is wat we kunnen doorgeven.
‫Dus dit is eigenlijk hier een afgevaardigde die wordt verwacht.
‫Predikaat is gewoon de naam van de afgevaardigde die wordt verwacht.
‫Als je erop klikt, vind je hem hier.
‫Publiek afgevaardigde zal predikaat.
‫Je kunt dus zien dat het predikaat de afgevaardigden zijn die een object van T nemen, wat specifiek type
‫betekent.
‫In dit geval is T het type van onze lijstelementen.
‫Dus in ons geval is het een string en geeft het een boolean terug.
‫Dus als we de methode alles verwijderen aanroepen, wordt dit predikaat op elke naam in onze lijst aangeroepen.
‫Als we de documentatie lezen, zullen we ontdekken dat de bool die door dit predikaat wordt geretourneerd, bepaalt of dit
‫element al dan niet van de lijst wordt verwijderd.
‫Als het true retourneert, wordt het element verwijderd.
‫En het is onze taak om deze regels te schrijven die het lot van onze namen in onze lijst bepalen.
‫Dus van deze namen die we hier hebben, wat betekent dat van Aden als Alter en Anatoliy.
‫De mensen die de code achter de remove all-methode hebben geschreven, kunnen immers niet onze gedachten lezen om de regels te bepalen
‫die we willen.
‫Precies.
‫Daarom zullen we onze eigen methode maken die overeenkomt met de definitie van het predikaat gedelegeerde en
‫deze doorgeven aan de methode alles verwijderen.
‫Laten we zeggen dat we alle namen met de letter I willen verwijderen, zodat we onze filtratiemethode zo kunnen
‫schrijven.
‫Dus we maken gewoon een statisch poolfilter, dat een string zal opnemen.
‫Dit is dus onze methode genaamd filter en we geven terug of de string de letter I bevat.
‫En hier gebruiken we de ingesloten methode, die een boolean retourneert, die true of false
‫retourneert.
‫Dus hier de inhoud, je ziet dat er een string nodig is om te controleren of het dat bevat en dan retourneert het een boolean.
‫Dus wat we hier doen, is dat we in feite een boolean retourneren.
‫En er is een string nodig als parameter, dus in principe zullen we true retourneren van de string bevat
‫I en dan zal de remove all-methode deze filtermethode uitvoeren op alle elementen in onze lijst.
‫Dus laten we nu onze filtermethode doorgeven aan de methode Alles verwijderen die we hier hebben en die nog niet is voltooid
‫en die nog steeds afgevaardigden nodig heeft die we eraan kunnen doorgeven.
‫En laten we A toevoegen voor elke lus voor en na de methode Alles verwijderen, alleen voor observatie.
‫Dus ik ga hier een beetje verkoudheid aan toevoegen, waar ik gewoon zeg dat dit is wat er eerder gebeurde.
‫Dus we schrijven een lijst met namen op de console met alle namen die hier in onze lijst staan.
‫En dan verwijderen we dat allemaal, volgen een bepaald filter en voeren het opnieuw uit.
‫Nu, dit filter dat we doorgeven, zie je, we gebruiken hier geen haakjes, ook al
‫is het een methode, dus eigenlijk geven we hier een methode door als parameter en we controleren of de string die
‫we 're passeren bevat een oog.
‫Dus laten we het uitvoeren en kijken welke namen bevatten.
‫En ik.
‫Dus als we Walter en Anatoly hebben geïdentificeerd, en daarna hebben we alles verwijderd behalve Walter omdat Walter een touwtje
‫is dat geen oog bevat.
‫OKE.
‫En dat is eigenlijk hoe we een afgevaardigde hebben gebruikt die al bestond.
‫En nu hebben we een methode gebruikt waarvoor een afgevaardigde nodig is die we eraan kunnen doorgeven.
‫Dus wat er in feite is gebeurd, is dat namen, er zijn hier kleine touwtjes.
‫Werd gegeven om alles te verwijderen en één voor één gecontroleerd met het filter dat we hier hebben gebruikt, dus
‫het gaf elke afzonderlijke waarde van namen een voor een door aan onze filtermethode, liep door het filter en keerde terug als
‫het was verwijderd of niet.
‫Dus deze boolean zal waar zijn als I is opgenomen in de string die is doorgegeven.
‫Dus die string waar we momenteel naar kijken in onze namenlijst en als dit jaar true retourneert, dan zal de
‫filtermethode true retourneren.
‫Wat vervolgens zal leiden tot het verwijderen van alle zorg voor het verwijderen van de naam uit de namenlijst.
‫Oke.
‫Dit was dus slechts één voorbeeld van een afgevaardigde.
‫En zie je, we hebben hier niet specifiek doorgegeven wat we willen hebben.
‫We hebben dus niet gezegd welke string we willen gebruiken, bijvoorbeeld door te zeggen dat de naam begint met een index of wat dan
‫ook.
‫We hoefden dat niet te doen omdat, nou ja, iedereen die hier een afgevaardigde verwacht, verwijderen, en dat is wat we eraan
‫hebben doorgegeven.
‫Als dit nog steeds een beetje verwarrend is, geen zorgen, we zullen nog een paar voorbeelden hebben, die je zeker
‫zullen helpen om afgevaardigden een beetje beter te begrijpen, omdat we er zelf een paar gaan
‫maken en dan zullen er nog veel meer zijn gevoel.
‫Dus tot ziens in de volgende video.