estoy aprendiendo C# .Can quiero decir que el cierre a construct that can adopt the changes in the environment in which it is defined.
C# -Cierre -Clarification
Ejemplo:
List<Person> gurus =
new List<Person>()
{
new Person{id=1,Name="Jon Skeet"},
new Person{id=2,Name="Marc Gravell"},
new Person{id=3,Name="Lasse"}
};
void FindPersonByID(int id)
{
gurus.FindAll(delegate(Person x) { return x.id == id; });
}
La variable id
se declara en el ámbito de FindPersonByID() t pero que todavía se puede acceder la variable local id
dentro de la función anónima (es decir) delegate(Person x) { return x.id == id; }
(1) ¿es mi comprensión de cierre es correcto?
(2) ¿Cuáles son las ventajas podemos obtener de cierres?
Gran explicación Sr. jaredpar – user274364