Heim >Backend-Entwicklung >C++ >Wie kann LINQ die Eigenschaften einer Sammlung in C# effizient aktualisieren?
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!