首頁 >後端開發 >C++ >LINQ 如何有效率地更新 C# 中集合的屬性?

LINQ 如何有效率地更新 C# 中集合的屬性?

DDD
DDD原創
2025-01-20 13:01:08582瀏覽

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

使用 LINQ 最佳化 C# 集合更新

LINQ 提供了修改物件集合屬性的有效方法。 而 ForEach 擴充方法提供了類似循環的語法:

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

純粹基於 LINQ 的方法實現了相同的結果:

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

至關重要的是,ToList() 強制立即執行,克服了 LINQ 固有的惰性求值。

考慮一個實際範例:更新部落格評論的時間戳記。 若要為業務層中每個評論的 DateAdded 屬性新增 10 小時:

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

這種 LINQ 方法簡化了更新過程,消除了直接 SQL 操作的需要,並將資料修改巧妙地整合到您的業務邏輯中。

以上是LINQ 如何有效率地更新 C# 中集合的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn