c#中存储数组列表到另一个数组列表
本文关键字:列表 数组 另一个 存储 | 更新日期: 2023-09-27 17:50:03
我想在产品数组列表中插入productDetail
ArrayList productDetail = new ArrayList();
foreach (DataRow myRow in myTable.Rows) { productDetail.Clear(); productDetail.Add( "CostPrice" + "," + myRow["CostPrice"].ToString()); products.Insert(myTable.Rows.IndexOf(myRow),(object)productDetail); }
但是product list中的每一项都是用last productdetails ArrayList填充的我在这里做错了什么?
试着移动
ArrayList productDetail = new ArrayList();
在foreach
循环内:
ArrayList products = new ArrayList();
foreach (DataRow myRow in myTable.Rows) {
ArrayList productDetail = new ArrayList();
productDetail.Add( "CostPrice" + "," + myRow["CostPrice"].ToString());
products.Insert(myTable.Rows.IndexOf(myRow),(object)productDetail);
}
关键是,在您的代码中,您总是添加对同一对象的引用:Insert
不是每次都复制您的列表…
productDetails只包含一个条目。第一步是productDetail.Clear();
将其移出foreach以获得所需的结果。
ArrayList products = new ArrayList();
ArrayList productDetail = new ArrayList();
productDetail.Clear();
foreach (DataRow myRow in myTable.Rows)
{
productDetail.Add( "CostPrice" + "," + myRow["CostPrice"].ToString());
products.Insert(myTable.Rows.IndexOf(myRow),(object)productDetail);
}