DataGridView,获取所选行的第一列的值

jac*_*obz 0 c# datagridview

我想知道哪种最有效的方法来获取DataGridView行中第一列的值。

目前,我正在使用以下代码:

List<string> SelectedRows = new List<string>();
foreach (DataGridViewRow r in dgv.SelectedRows)
{
    SelectedRows.Add(r.Cells[0].Value.ToString());
}

int index = Convert.ToInt32(SelectedRows[0]);
Run Code Online (Sandbox Code Playgroud)

这很好用;但是,有没有更有效的选择呢?

Gra*_*ICA 5

“最有效”通常是主观的。我不知道以下代码比您已经拥有的代码更快或更短,但这是我更喜欢使用的方法。

如果您试图从特定列中获取所有值的列表,请尝试以下操作:

var results = dataGridView1.SelectedRows
                           .Cast<DataGridViewRow>()
                           .Select(x => Convert.ToString(x.Cells[0].Value));
Run Code Online (Sandbox Code Playgroud)

如果一次只允许一个选定的行,并且想要转换特定的单元格,请尝试以下操作:

var index = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
Run Code Online (Sandbox Code Playgroud)