有兩個list,listA 和listB,
listA中有三個屬性列為StoreId、OrderCount,StaffCount,
listB中有兩個屬性列為StoreId、StaffCount,
listA中當前StaffCount列為空,listB中兩列都不為空,如何使用linq將listB的StaffCount列的值賦給listA,對應關系為listA.StoreId=listB.StoreId
方法一:linq方法語法
var listA = ...; var listB = ...; listA.ForEach(m => { var s = listB.FirstOrDefault(n => n.StoreId == m.StoreId); if(s != null) { m.StaffCount = s.StaffCount; } } );
法二:linq查詢語法
listA = (from a in listA join b in listB on a.StoreId equas b.StoreId into ab from ba in ab.DefaultIfEmpty(new ModelXXXB()) select new ModelXXXA { StoreId = a.StoreId, OrderCount = a.OrderCount, StaffCount = ba.StaffCount } ).ToList()