Je cherche un moyen de changer le code suivant:
foreach (Contact _contact in contacts) { _contact.ID = 0; _contact.GroupID = 0; _contact.CompanyID = 0; }
Je voudrais changer cela en utilisant LINQ / lambda dans quelque chose de similaire à:
contacts.ForEach(c => c.ID = 0; c.GroupID = 0; c.CompanyID = 0);
Cependant, cela ne fonctionne pas. Existe-t-il un moyen de faire plusieurs lignes dans un for linq en écrivant une fonction pour le faire en une seule ligne?
contacts.ForEach(c => { c.ID = 0; c.GroupID = 0; c.CompanyID = 0; });
Cela n’a rien à voir avec LINQ en soi; c’est juste une simple méthode anonyme écrite en syntaxe lambda transmise à la fonction List
(qui existait depuis 2.0, avant LINQ).
LINQ signifie Language Integrated Query – ce qui signifie qu’il est destiné à l’ interrogation – c’est-à-dire l’extraction ou la transformation d’une séquence en un nouvel ensemble, sans manipulation de l’original.
La méthode ForEach
bloque sur List
et est un raccourci pratique pour foreach; rien de spécial.