定义对象p0103,数组 records ,然后给通过循环给数组赋值,赋值后前面数组的值被后面的覆盖,请问什么原因?
for (int i = 0; i < dgvShuJuMingXing.Rows.Count; i++)
{
p0103.INVENTORY_ID = txtWuLiaoBianHao.Text; p0103.MATERIAL_BARCODE = dgvShuJuMingXing.Rows[i].Cells[1].Value.ToString(); p0103.INVENTORY_QUANTITY = float.Parse(dgvShuJuMingXing.Rows[i].Cells[4].Value.ToString()); records[i] = p0103;
} pdservice.UpdateP0103List(records);
for (int i = 0; i < dgvShuJuMingXing.Rows.Count; i++)
{
p0103.INVENTORY_ID = txtWuLiaoBianHao.Text; p0103.MATERIAL_BARCODE = dgvShuJuMingXing.Rows[i].Cells[1].Value.ToString(); p0103.INVENTORY_QUANTITY = float.Parse(dgvShuJuMingXing.Rows[i].Cells[4].Value.ToString()); records[i] = p0103;
} pdservice.UpdateP0103List(records);
0103是 存储过程编号?
猜对没。。调试一下,看看i 的变化,和records 的count
原因是为这做这个事情
p0103.MATERIAL_BARCODE=1,p0103.INVENTORY_QUANTITY =1,此时record[0]为1 1 1
当p0103为2,2,2时,此时record[1]为2 2 2,但是record[0]的值也变为了2 2 2,什么原因???