有如下代码:如果OrderList.count中的长度有n长,也就是说OrderList里面有n个数,而哪个循环把每个数都会过一遍那subtotal.Text 
和Total.Text 里面应该显示哪个数据的价格。
void updateshopchart() 

ArrayList OrderList; 
ArrayList qtyList; 
int productId; 
DataRow product; 
double subt; 
double tal; 
double de = 0.9; 
OrderList = (ArrayList)Session["orderList"]; 
qtyList = (ArrayList)Session["qtyList"]; 
subt = 0; 
for (int i = 0; i <= OrderList.Count - 1; i++) 

productId = (int)OrderList[i]; 
product = GetProduct(productId); 
subt += double.Parse(product["price"].ToString()) * double.Parse(qtyList[i].ToString()); 

tal = subt * de; 
subtotal.Text = string.Format("{0:C}", subt); 
dec.Text = de.ToString(); 
Total.Text = string.Format("{0:C}", tal); 

解决方案 »

  1.   

    关键问题是那个for循环会把 每个数都过一遍,假如那个数组里面有3个  {003,002,006}那么循环就会就会产生3个“subt”和3个“tal”那在上面代码情况显示下subtotal.Text 和Total.Text 的值会取三个中的哪一个????不知道我这样有没有把问题描述清楚
      

  2.   

    从这句看subt += double.Parse(product["price"].ToString()) * double.Parse(qtyList[i].ToString());  
    取到的是3个的和
      

  3.   

    懂了,明白了,谢谢scjtswj和WO_YOU_XIE_SHANG_XIN  
    我要的就是这个意思,谢谢各位同仁的帮助!!