C# 我们如何通过编程将数据从datagrid添加到列表中?

C# 我们如何通过编程将数据从datagrid添加到列表中?,c#,.net,list,datagrid,C#,.net,List,Datagrid,我有下面的代码,但是列表没有从datagrid获取精确的值 public List<double[]> ExtractGridData(DataGridView grid) { int numCols = grid.Columns.Count; List<double[]> list = new List<double[]>(); double[] cellsData = new double[

我有下面的代码,但是列表没有从datagrid获取精确的值

public List<double[]> ExtractGridData(DataGridView grid)
    {
        int numCols = grid.Columns.Count;
        List<double[]> list = new List<double[]>();

            double[] cellsData = new double[numCols];
            foreach (DataGridViewCell cell in grid.SelectedCells)
            {
                if (cell.Value != null)
                    cellsData[cell.RowIndex] = Convert.ToDouble(cell.Value);
                    list.Add(cellsData);
            }

        return list;
    }
public List ExtractGridData(DataGridView网格)
{
int numcolls=grid.Columns.Count;
列表=新列表();
double[]cellsData=新的double[numCols];
foreach(网格中的DataGridViewCell单元格。SelectedCells)
{
if(cell.Value!=null)
cellsData[cell.RowIndex]=Convert.ToDouble(cell.Value);
列表。添加(cellsData);
}
退货清单;
}
我想你需要做的就是搬家:

double[] cellsData = new double[numCols];

在循环的开始处。目前,您在每次迭代中都使用相同的数组实例。

尝试将此代码作为从网格中提取特定列的数据

 public List<double> ExtractGridData(DataGridView grid)
    {
        int numCols = grid.Columns.Count;
        List<double> list = new List<double>();
        int i = 0;
        double[] cellsData = new double[numCols];
        foreach (DataGridViewRow row in grid.SelectedRows)
        {
            if(row.Cells[2].Value != null)
            {
            string value = row.Cells[2].Value.ToString();// third columnn of Grid as            //Example



            list.Add(Convert.ToDouble(value));
            }  


        }


        return list;
    }
public List ExtractGridData(DataGridView网格)
{
int numcolls=grid.Columns.Count;
列表=新列表();
int i=0;
double[]cellsData=新的double[numCols];
foreach(网格中的DataGridViewRow行。SelectedRows)
{
if(行。单元格[2]。值!=null)
{
string value=row.Cells[2].value.ToString();//网格的第三列作为//示例
list.Add(Convert.ToDouble(value));
}  
}
退货清单;
}

要检索整个网格数据或选定单元格/行中的数据吗