winforms DataGridView列数据到数组

eqoofvh9  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(104)

是否可以将所有数据从DataGridView列传输到string[] array
这是我的代码到目前为止,不幸的是,它不能转换DataGridViewRowint

foreach (DataGridViewRow dgvrows in dgvDetail.Rows)
{
   array[dgvrows] = dgvDetail.Rows[dgvrows].Cell[3].value.ToString().Trim;
}
7nbnzgx9

7nbnzgx91#

你可以通过各种方式做到这一点:

  • 使用普通的for循环。foreach只是语法糖,真实的工作总是用古老的for循环来完成的。
  • 使用foreachDataGridViewRow.Index属性设置数组索引。
  • 使用LINQ创建数组
for (int i = 0; i < dgvDetail.Rows.Count; i++)
{
    array[i] = dgvDetail.Rows[i].Cells[3].Value.ToString().Trim();
}   

foreach (DataGridViewRow row in dgvDetail.Rows) 
{
    array[row.Index] = row.Cells[3].Value.ToString().Trim();
}

var array = dgvDetail.Rows
    .Cast<DataGridViewRow>()
    .Select(x => x.Cells[3].Value.ToString().Trim())
    .ToArray();

注意,在这两个循环中,你都需要先初始化数组!

相关问题