1
난 gridview 있고 각 행 MyCustomType
한 인스턴스를 표시합니다. 인스턴스 자체는 DataGridViewRow의 Tag
속성에 저장됩니다. 이제 linq을 사용하여 여러 기준에 따라 특정 행을 선택하려고합니다.C# : linq에 단 하나의 타입 변환?
var rows = grid_series.Rows
.Cast<DataGridViewRow>()
.Where(x => ((MyCustomType)x).myProperty != string.Empty)
.Where(x => ((MyCustomType)x).myOtherProperty < 42);
을하지만 난 정말 모든 단일 where
문에서 Tag
-object를 캐스팅하지 않으려 :이은 다음과 같습니다. 개체를 한 번만 캐스팅하고 반복적으로 사용하는 방법이 있습니까? 먼저 select 문을 사용하는 방법에 대해 생각했습니다. 그렇다면 캐스트를 한 번만 적용해야하지만 각 결과를 다시 생각해 볼 수없는 DataGridViewRow
으로 다시 변환해야합니다.
하지만 결과 유형이 무엇입니까? IEnumerable가 있어야합니다. 이것은 IEnumerable 을 얻는 것처럼 보입니다. 내가 맞습니까? –
Jan
'IEnumerable'를 원한다면 해결책이 더 나을지도 모르겠다. 그러나 나는 나의 대답을 업데이트 할 것이다. –
nemesv
위대한, 정확히 내가 무엇을 찾고 있었는지. 고마워요! – Jan