2013-12-12 2 views
1

자동차 목록이 있습니다. 각 차마다 여러 개의 문이 있습니다. 그리고 각 문에는 색깔이 있습니다. 목록을 반복하고 일치하는 색상의 문이 두 개 이상있는 차량 만 선택하고 싶습니다.linq 목록에서 일치하는 요소가 두 개 이상인 항목

나는 이런 식으로 뭔가를 시도했다하지만 난 그게 것으로 예상처럼 작동하지 않습니다 :

foreach (Car car in cars.Where(c=>c.doors.Select(d=>d.color = "Blue").Count() > 1)) 
{ 
    // Do something  
} 

당신이 날은 내가 잘못 이해 도와 드릴까요?

답변

3

당신은 술어를 통과 어디서과 선택 대체해야합니다

foreach (Car car in cars.Where(c=>c.doors.Where(d=>d.color == "Blue").Count() > 1)) 

는 짧은하려면 :

foreach (Car car in cars.Where(c=>c.doors.Count(d=>d.color == "Blue") > 1)) 
0

당신은 할당이 c.color = "blue"를 사용합니다. 비교를 위해 c.color == "blue" 또는 color.Equals("blue")을 사용해야합니다.

관련 문제