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
Libérer: 2025-01-20 13:01:08
original
554 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal