如何使用LINQ查找DataGridView行?

Dar*_*rty 18 c# linq datagridview winforms

有没有办法使用LINQ样式查询来查找DataGridView行?我试图找到绑定到特定对象的那个并突出显示它.

MyDatagrid.Rows.FirstOrDefault(r => r.DataBoundItem == myItem).Selected = true;
Run Code Online (Sandbox Code Playgroud)

错误1'System.Windows.Forms.DataGridViewRowCollection'不包含'FirstOrDefault'的定义,并且没有可以找到接受类型'System.Windows.Forms.DataGridViewRowCollection'的第一个参数的扩展方法'FirstOrDefault'(你错过了吗?使用指令或程序集引用?)

Lee*_*Lee 42

你需要强制转换,IEnumerable<DataGridViewRow>因为DataGridViewRowCollection只实现IEnumerable:

MyDatagrid.Rows
    .Cast<DataGridViewRow>()
    .FirstOrDefault(r => r.DataBoundItem == myItem).Selected = true;
Run Code Online (Sandbox Code Playgroud)