我从我的数据库获取产品列表作为BindingList。我想使用用户已经选择的另一个项目列表来更新该列表中某些产品的数量。用于更新集合的嵌套循环的替代方法
这个想法是当用户从数据库中提出一个新的产品列表。该列表将显示已经从先前的搜索中选择的产品的数量。
我想出了下面的嵌套循环。它可以工作,但不能很好地扩展,因为数据库中的搜索可能会产生一个必须遍历的大列表。你们如何认为我可以改善这一点?
此外,我浏览了他们教Big-O符号的课程。以下解决方案的复杂性是什么?
谢谢。
for (int i = 0; i < dbProducts.Count; i++)
{
for (int j = 0; j < GlobalVars.productList.Count; j++)
{
EposProduct selectedProduct = GlobalVars.productList.ElementAt(j);
EposProduct dbProduct = dbProducts.ElementAt(i);
if(selectedProduct.ProductID == dbProduct.ProductID)
{
dbProduct.Quantity = selectedProduct.Quantity;
}
}
}
只是一个评论:dbProduct是不是从dbProducts列表,这是你的意图? – 2012-03-22 17:54:16
是的,这是我的一个错字,更新和谢谢。 – conor 2012-03-22 19:48:41