我有一个带有ID属性和Status属性的objectA。 我有一个ListA,它是objectA的集合。 我还有一个带有ID属性和Status属性的objectB。 我有一个ListB,它是objectB的集合。
我需要根据ID将listA集合与listB集合进行匹配,如果匹配则更新状态从ListB到ListA。
没有foreach循环的最佳方法是什么?
感谢您的帮助。
答案 0 :(得分:1)
您可以使用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
语句,则无法实现此目的。
答案 1 :(得分:0)
我有类似的情况。我有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
});
参考文献: