我有一个 gridview,每一行显示一个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
在每个where
语句中都使用 -object。有没有办法只投射对象一次并重复使用?我考虑过首先使用 select 语句。然后我必须只应用一次演员表,但是我必须将每个结果“重新转换”回DataGridViewRow
我认为不可能的结果。