Mengoptimumkan Kemas Kini Koleksi C# dengan LINQ
LINQ menawarkan kaedah yang cekap untuk mengubah suai sifat merentas koleksi objek. Manakala kaedah sambungan ForEach
menyediakan sintaks seperti gelung:
collection.ForEach(c => c.PropertyToSet = value);
Pendekatan berasaskan LINQ semata-mata mencapai hasil yang sama:
collection.Select(c => { c.PropertyToSet = value; return c; }).ToList();
Yang penting, ToList()
memaksa pelaksanaan segera, mengatasi penilaian malas yang wujud LINQ.
Pertimbangkan contoh praktikal: mengemas kini cap masa ulasan blog. Untuk menambah 10 jam pada setiap sifat DateAdded
ulasan dalam lapisan perniagaan:
var comments = _context.Comments.Where(c => c.BlogPostId == blogPostId); comments.Select(c => { c.DateAdded = c.DateAdded.AddHours(10); return c; }).ToList(); _context.SaveChanges();
Pendekatan LINQ ini menyelaraskan proses kemas kini, menghapuskan keperluan untuk manipulasi SQL terus dan menyepadukan pengubahsuaian data dengan kemas ke dalam logik perniagaan anda.
Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Mengemas kini Sifat Koleksi dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!