‫Muy bien, ahora que, ya sabes, la idea general de los delegados, veámoslos en acción y para
‫comprenderlos mejor, comenzaremos usando un delegado que ya existe en C Sharp.
‫Entonces, en primer lugar, comencemos por definir una lista simple de cadenas llamadas nombres.
‫Y luego voy a usar esto.
‫Digamos que quiero quitarle nombres.
‫Así que aquí está este método de eliminar todos y, por lo tanto, eliminar todos los métodos me permite eliminar todos
‫los elementos que coinciden con las condiciones definidas por el predicado especificado.
‫Entonces, esta palabra clave de predicado verde aquí es básicamente lo que podemos pasar.
‫Así que esto es básicamente aquí un delegado que se espera.
‫Predicate es solo el nombre del delegado que se espera.
‫Una vez que haga clic en él, lo encontrará aquí.
‫El delegado público predicará.
‫Entonces puede ver que el predicado son los delegados que toma un objeto de T, que significa tipo
‫específico.
‫En este caso, T es el tipo de elementos de nuestra lista.
‫Entonces, en nuestro caso, es una cadena y devuelve un booleano.
‫Entonces, cuando llamamos al método remove all, este predicado se llamará en todos los nombres de nuestra lista.
‫Si leemos la documentación, aprenderemos que el bool devuelto por este predicado determinará si este elemento
‫se eliminará o no de la lista.
‫Si devuelve verdadero, el elemento se eliminará.
‫Y es nuestro trabajo escribir estas reglas que determinan el destino de nuestros nombres en nuestra lista.
‫Entonces, de estos nombres que tenemos aquí, que significa Aden si Alter y Anatoliy.
‫Después de todo, las personas que escribieron el código detrás del método remove all no pueden leer nuestras mentes para determinar las
‫reglas que queremos.
‫Exactamente.
‫Es por eso que crearemos nuestro propio método que coincida con la definición del predicado delegado
‫y lo pasaremos al método remove all.
‫Digamos que queremos eliminar todos los nombres que contienen la letra I para poder escribir nuestro método de filtración
‫así.
‫Entonces solo creamos un filtro de grupo estático, que tomará una cadena.
‫Así que este es nuestro método llamado filtro y devolvemos si la cadena contiene la letra I.
‫Y aquí estamos usando el método contenido, que devolverá un booleano, que devolverá verdadero o
‫falso.
‫Entonces, aquí el contenido, ve que toma una cadena verifica si lo contiene y luego devuelve un booleano.
‫Entonces, lo que hacemos aquí es, de hecho, devolver un booleano.
‫Y toma una cadena como parámetro, por lo que básicamente devolveremos el valor verdadero de la cadena que contiene I y
‫luego el método remove all ejecutará este método de filtro en todos los elementos de nuestra lista.
‫Así que pasemos ahora nuestro método de filtro al método de eliminación de todos que tenemos aquí que aún
‫no está terminado y todavía necesita delegados que podamos pasarle.
‫Y agreguemos A para cada bucle antes y después del método eliminar todo solo para observación.
‫Así que voy a agregar este pequeño resfriado aquí donde solo digo que esto es lo que sucedió antes.
‫Entonces escribimos una lista de nombres en la consola con todos los nombres que están en nuestra lista aquí.
‫Y luego quitamos todo eso, seguimos un determinado filtro y lo ejecutamos una vez más.
‫Ahora, este filtro que estamos pasando, ya ve, no usamos los corchetes aquí, aunque
‫es un método, así que básicamente estamos pasando un método como parámetro aquí y estamos verificando si la cadena que
‫usamos Estás pasando contiene un ojo.
‫Así que ejecutémoslo y veamos qué nombres contienen.
‫Y yo.
‫Entonces, si identificamos a Walter y Anatoly, y después de eso, eliminamos a todos excepto a Walter porque Walter es una
‫cadena que no contiene un ojo.
‫está bien.
‫Y así es básicamente como hemos utilizado un delegado que ya existía.
‫Y ahora hemos usado un método que requiere un delegado que podemos pasarle.
‫Entonces, básicamente, lo que sucedió es que los nombres, hay pequeñas cadenas aquí.
‫Se le dio para eliminar todo y se verificó uno por uno con el filtro que hemos usado aquí, por lo
‫que pasó cada valor de los nombres, uno tras otro, a nuestro método de filtro, corrió a través del filtro y devolvió
‫si se eliminó o no.
‫Entonces, este booleano será verdadero si I está contenido en la cadena que se pasó.
‫Entonces, esa cadena que estamos viendo actualmente en nuestra lista de nombres y si este año devuelve verdadero, entonces el método
‫de filtro devolverá verdadero.
‫Lo que luego conducirá a eliminar todo teniendo cuidado de eliminar el nombre de la lista de nombres.
‫Está bien.
‫Así que este fue solo un ejemplo de delegado.
‫Y verás, no pasamos específicamente aquí lo que queremos tener.
‫Entonces no dijimos qué cadena queremos tomar, por ejemplo, diciendo que el nombre comienza con un índice o lo que
‫sea.
‫No tuvimos que hacer nada de eso porque, bueno, eliminar todos los que esperan un delegado aquí, y eso es lo que
‫le pasamos.
‫Si esto todavía es un poco confuso, no se preocupe, vamos a tener un par de ejemplos más,
‫que definitivamente lo ayudarán a comprender un poco mejor a los delegados porque vamos a
‫crear algunos nosotros mismos y luego generará muchos más. sentido.
‫Así que nos vemos en el siguiente video.