Me gustaría usar un DataGridViewRowCollection
en una expresión LINQ usando métodos de extensión y expresiones lambda. Desafortunadamente, los métodos de extensión son para los tipos IEnumerable<T>
, que DataGridViewRowCollection
no implementa. Lo curioso es, puedo usar LINQ aquí con la sintaxis de tipo SQL:Usando el objeto DataGridViewRowCollection en LINQ
IEnumerable<DataGridViewRow> lRows = from DataGridViewRow row in dgvGrid.Rows
select row;
Después de hacer eso, me pueden los uso de métodos de extensión LINQ:
foreach (DataGridViewRow lRow in lRows.Where(row => row.index > 4)) { ... }
¿Hay alguna manera de que pueda convertir mi DataGridViewRowCollection
a IEnumerable<>
sin usar esa primera declaración larga? Lo mismo se aplica a DataGridViewCellCollection
y DataGridViewColumnCollection
.
ps. Estoy usando .NET Framework 3.5
Brillante. Gracias. – Mashmagar
Para el registro, 'OfType()' también es una opción viable. La única diferencia es que 'OfType' descartará cualquier cosa que no pueda convertir, y' Cast' lanzará una excepción. –
Bobson