I'd like to use a DataGridViewRowCollection in a LINQ expression using extension methods and lambda expressions. Unfortunately, the extension methods are for types IEnumerable<T>, which DataGridViewRowCollection doesn't implement. The funny thing is, I can use LINQ here with the SQL-like syntax:

IEnumerable<DataGridViewRow> lRows = from DataGridViewRow row in dgvGrid.Rows 
                                     select row;

After doing that, I can use LINQ extension methods:

foreach (DataGridViewRow lRow in lRows.Where(row => row.index > 4)) { ... }

Is there any way I can convert my DataGridViewRowCollection to an IEnumerable<> without using that long first statement? The same thing applies to DataGridViewCellCollection and DataGridViewColumnCollection.

ps. I'm using .net framework 3.5

Edit
Report