Arrays 填充IList接口中的多维数组错误

Arrays 填充IList接口中的多维数组错误,arrays,list,multidimensional-array,interface,Arrays,List,Multidimensional Array,Interface,我的项目从dataGridView获取数据,然后将行转换为多维数组 我想将多维数组分配给IList接口,但IList接口每次都会填充gridview中的最后一行 我的代码: public IList<InvoiceLine> invoiceLines { get; set; } InvoiceLine invoiceline = new InvoiceLine(); string[,] datavalu = new string[dataGridView1.Rows

我的项目从dataGridView获取数据,然后将行转换为多维数组

我想将多维数组分配给IList接口,但IList接口每次都会填充gridview中的最后一行

我的代码:

public IList<InvoiceLine> invoiceLines { get; set; }

InvoiceLine invoiceline = new InvoiceLine();
        string[,] datavalu = new string[dataGridView1.Rows.Count, dataGridView1.Columns.Count];

        foreach (DataGridViewRow row in dataGridView1.Rows)
        {


            foreach (DataGridViewColumn col in dataGridView1.Columns)
            {
                datavalu[row.Index, col.Index] = dataGridView1.Rows[row.Index].Cells[col.Index].Value.ToString();

            }
        }
        int i ;
      
        for ( i = 0; i < datavalu.GetLength(0); i++)
        {
           
            invoiceline.description = datavalu[i, 0].ToString();
            invoiceline.itemType = datavalu[i, 1].ToString();
            invoiceline.itemCode = datavalu[i, 2].ToString();
            invoiceline.internalCode = datavalu[i, 3].ToString();
            invoiceline.unitType = datavalu[i, 4].ToString();
            invoiceline.quantity = int.Parse(datavalu[i, 5].ToString());

            invoicelines.Add(invoiceline);
            
            
        }
我的问题是invoicelines返回两行,即网格中最后一行的相同数据

谁能告诉我为什么

description itemType    itemCode    internalCode    unitType    quantity

Food    EGS EG-538486562-1314   1314    EA  1

Food2   EGS EG-538486562-1315   1500    EA  5