2014-01-15 2 views
0

특정 조건을 사용하여 같은 목록을 필터링 할 수 있습니까? 나는 두 개의 목록을 사용하는 것을 안다. 난 내가 이름을 가지고 계산 목록라는 lstValues이있는 경우, 내가 0 그래서 내가 다른 목록필터 목록 Linq를 사용하여 같은 목록에

을 만들어으로 계산했다 모든 항목을 필터링 할

.. 같은 목록을 수행 할

lstFilterdedValues.addRange(lstValues.Where(i => i.Count > 0))); 

이 작품은 ..하지만 난 lstFilteredValues라는 또 다른 새로운 목록을 사용하고 싶지 않아.

나는

lstValues =lstValues.Where(i => i.Count > 0)).Select(k=>(k)); 

하지만이 나던 작품 같은 것을 원한다.

답변

1

사용 ToList() 전화 :

lstValues = lstValues.Where(i => i.Count > 0).ToList(); 

그것은 새 목록을 작성하고 다시 lstValues 변수에 할당합니다.

당신이 List<T>.RemoveAll 방법을 사용할 수있는 새 목록을 작성하고 변수를 할당하지 않으려면 : 당신이 볼 수 있듯이

lstValues.RemoveAll(i => i.Count <= 0); 

을이 항목이 될 것를 지정하기 때문에, 당신은 상황을 반전해야 목록에 남아 있어야하는 것이 아니라 삭제되었습니다.

+0

Perfect !! 감사.. –

관련 문제