Maison >développement back-end >C++ >Comment LINQ peut-il mettre à jour efficacement les propriétés d'une collection en C# ?

Comment LINQ peut-il mettre à jour efficacement les propriétés d'une collection en C# ?

DDD
DDDoriginal
2025-01-20 13:01:08553parcourir

How Can LINQ Efficiently Update Properties of a Collection in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn