グリッドビューがあり、各行に のインスタンスが 1 つ表示されますMyCustomType
。インスタンス自体はTag
DataGridViewRow のプロパティに格納されます。ここで、linq を使用して、複数の基準に基づいて特定の行を選択したいと考えています。これは次のようになります。
var rows = grid_series.Rows
.Cast<DataGridViewRow>()
.Where(x => ((MyCustomType)x).myProperty != string.Empty)
.Where(x => ((MyCustomType)x).myOtherProperty < 42);
Tag
しかし、すべてのステートメントで -objectをキャストすることは避けたいと思っていwhere
ます。オブジェクトを一度だけキャストして繰り返し使用する方法はありますか? 最初にselectステートメントを使用することを考えました。次に、キャストを1回だけ適用する必要がありますが、その後、各結果を「再変換」するDataGridViewRow
必要があり、不可能だと思います。