Mit DataGridViewRowCollection Objekt in LINQ
Ich würde gerne eine DataGridViewRowCollection
in einem LINQ-Ausdruck mit erweiterungsmethoden und lambda-Ausdrücke. Leider ist die Erweiterung Methoden sind für die Typen IEnumerable<T>
, die DataGridViewRowCollection
nicht umsetzen. Das lustige an der Sache ist, ich kann mit LINQ hier mit der SQL-ähnlichen syntax:
IEnumerable<DataGridViewRow> lRows = from DataGridViewRow row in dgvGrid.Rows
select row;
Nachdem ich, dass, ich kann Verwendung von LINQ extension Methoden:
foreach (DataGridViewRow lRow in lRows.Where(row => row.index > 4)) { ... }
Gibt es eine Möglichkeit, ich kann wandeln meine DataGridViewRowCollection
zu einem IEnumerable<>
ohne diese lange erste Aussage? Das gleiche gilt für DataGridViewCellCollection
und DataGridViewColumnCollection
.
ps. Ich bin mit .net framework 3.5
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, tun Sie Folgendes:
Diese nutzt die
Enumerable.Cast
extension Methode:OfType<TResult>()
ist auch eine gute Wahl. Der einzige Unterschied ist, dassOfType
verwirft alles, was es nicht umwandeln kann, undCast
wird eine exception werfen.