[英]Manipulate two list of objects in c#
我有一個帶有 ID 屬性和 Status 屬性的 objectA。 我有一個 ListA,它是 objectA 的集合。 我還有一個帶有 ID 屬性和 Status 屬性的 objectB。 我有一個 ListB,它是 objectB 的集合。
我需要根據 ID 將 listA 集合與 listB 集合相匹配,如果匹配,則將狀態從 ListB 更新為 ListA。
沒有 foreach 循環的最佳方法是什么?
謝謝您的幫助。
您可以為此使用LINQ
:
var objectsForUpdate = (from a in listA
join b in listB
on a.Id equals b.Id
select new { a, b });
foreach (var obj in objectsForUpdate)
{
obj.a.Status = obj.b.Status;
}
請注意,如果不使用foreach
語句,這是無法實現的。
我有一個類似的場景。 我有cartProducts
和productsPurchasePrices
。
我用 linq 加入了兩個集合:
//join currentCart...
var p = currentCart.Rows.Join(
productsPurchasePrices, //... with productsPurchasePrices
row => row.ProductCode, //first collection key
purchasePrice => purchasePrice.Key, //second collection key
(row, purchasePrice) => new
{
productCode = row.ProductCode,
productMargin = purchasePrice.ProductMargin
});
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.