Heim >Backend-Entwicklung >C++ >Wie kann LINQ die Eigenschaften einer Sammlung in C# effizient aktualisieren?

Wie kann LINQ die Eigenschaften einer Sammlung in C# effizient aktualisieren?

DDD
DDDOriginal
2025-01-20 13:01:08554Durchsuche

How Can LINQ Efficiently Update Properties of a Collection in C#?

Optimierung von C#-Sammlungsaktualisierungen mit LINQ

LINQ bietet effiziente Methoden zum Ändern von Eigenschaften in einer Sammlung von Objekten. Während die ForEach-Erweiterungsmethode eine schleifenartige Syntax bereitstellt:

<code class="language-csharp">collection.ForEach(c => c.PropertyToSet = value);</code>

Ein rein LINQ-basierter Ansatz erzielt das gleiche Ergebnis:

<code class="language-csharp">collection.Select(c => { c.PropertyToSet = value; return c; }).ToList();</code>

Entscheidend ist ToList(), dass eine sofortige Ausführung erzwungen wird, wodurch die in LINQ inhärente verzögerte Bewertung überwunden wird.

Betrachten Sie ein praktisches Beispiel: Aktualisieren des Zeitstempels von Blog-Kommentaren. So fügen Sie der DateAdded-Eigenschaft jedes Kommentars innerhalb der Geschäftsschicht 10 Stunden hinzu:

<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>

Dieser LINQ-Ansatz rationalisiert den Aktualisierungsprozess, macht eine direkte SQL-Manipulation überflüssig und integriert Datenänderungen nahtlos in Ihre Geschäftslogik.

Das obige ist der detaillierte Inhalt vonWie kann LINQ die Eigenschaften einer Sammlung in C# effizient aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn