C#兩個list集合實現關聯,將一個集合的某列屬性值賦給另一個集合的某個屬性列


有兩個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()

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM