Maison >développement back-end >C++ >Comment LINQ peut-il mettre à jour efficacement les propriétés d'une collection en C# ?
Optimisation des mises à jour de la collection C# avec LINQ
LINQ propose des méthodes efficaces pour modifier les propriétés d'une collection d'objets. Alors que la méthode d'extension ForEach
fournit une syntaxe de type boucle :
<code class="language-csharp">collection.ForEach(c => c.PropertyToSet = value);</code>
Une approche purement basée sur LINQ permet d'obtenir le même résultat :
<code class="language-csharp">collection.Select(c => { c.PropertyToSet = value; return c; }).ToList();</code>
Essentiellement, ToList()
force une exécution immédiate, surmontant l'évaluation paresseuse inhérente à LINQ.
Prenons un exemple pratique : mettre à jour l'horodatage des commentaires du blog. Pour ajouter 10 heures à la propriété DateAdded
de chaque commentaire au sein de la couche de gestion :
<code class="language-csharp">var comments = _context.Comments.Where(c => c.BlogPostId == blogPostId); comments.Select(c => { c.DateAdded = c.DateAdded.AddHours(10); return c; }).ToList(); _context.SaveChanges();</code>
Cette approche LINQ rationalise le processus de mise à jour, éliminant le besoin de manipulation SQL directe et intégrant parfaitement la modification des données dans votre logique métier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!