J'apprends C# .Peut Je veux dire que la fermeture a construct that can adopt the changes in the environment in which it is defined.
C# -Fermeture -Clarification
Exemple:
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 id
variable est déclarée dans le champ d'application de FindPersonByID() mais t on peut encore accéder la variable locale id
dans la fonction anonyme (ie) delegate(Person x) { return x.id == id; }
(1) est ma compréhension de fermeture est correcte?
(2) Quels sont les avantages des fermetures?
Bonne explication Mr jaredpar – user274364