2011-02-24 4 views
4

사용자 정의 유형이 MyType이며 true 또는 false를 반환하는 함수 MyBoolFunction(string)이 있습니다.람다 구문 : 함수가 인수 범위에 대해 특정 값을 갖는 요소

큰 목록의 MyType 개체는 MyTypeList입니다.

문자열 개체 목록이 StringList입니다.

나는 myTypeList.MyBoolFunction(arg)StringList 이상 argarg 같은 범위의 적어도 하나 개의 값에 해당하는 MyTypeList의 부분 집합을 좀하고 싶습니다.

저는 C# lambda 표현식으로이 작업을 수행 할 수 있어야한다고 생각합니다.

나는이 (의사) 같은

MyTypeList.Where(x => (x.MyBoolFunction(arg)==true for some arg in StringList); 

이 가능 상상? 어떻게해야합니까?

+0

와우, 우리 중 많은 사람들이 같은 것을 한 번에 타이핑했습니다. 도! –

답변

8

Enumerable.Any 사용해보십시오 :

var query = MyTypeList.Where(x => StringList.Any(arg => x.MyBoolFunction(arg))); 
일부 명확성을 위해
3
MyTypeList.Where(x => StringList.Any(s => x.MyBoolFunction(s))); 

, sStringListx의 항목이 내가 말을 실제 유형을 모른 채

1

MyTypeList의 항목입니다 :

MyTypeList.Where(x => StringList.Any(arg => x.MyBoolFunction(arg)); 
+1

닫기 괄호가 하나 더 필요하다고 생각합니다. –

+1

필수 XKCD : http://www.xkcd.com/859/ –

관련 문제