使用 LINQ 最佳化 C# 集合更新
LINQ 提供了修改物件集合屬性的有效方法。 而 ForEach
擴充方法提供了類似循環的語法:
collection.ForEach(c => c.PropertyToSet = value);
純粹基於 LINQ 的方法實現了相同的結果:
collection.Select(c => { c.PropertyToSet = value; return c; }).ToList();
至關重要的是,ToList()
強制立即執行,克服了 LINQ 固有的惰性求值。
考慮一個實際範例:更新部落格評論的時間戳記。 若要為業務層中每個評論的 DateAdded
屬性新增 10 小時:
var comments = _context.Comments.Where(c => c.BlogPostId == blogPostId); comments.Select(c => { c.DateAdded = c.DateAdded.AddHours(10); return c; }).ToList(); _context.SaveChanges();
這種 LINQ 方法簡化了更新過程,消除了直接 SQL 操作的需要,並將資料修改巧妙地整合到您的業務邏輯中。
以上是LINQ 如何有效率地更新 C# 中集合的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!