我從我的數據庫獲取產品列表作爲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