2012-01-27 4 views
4

다른 길이와 길이가 같은 두리스트를 비교하고 싶습니다. 첫 번째 목록은 원본 목록으로 간주됩니다. 두 번째 목록은 업데이트 된 목록입니다. 두 번째 목록은 같지만 순서가 다를 수 있습니다.리스트를 트위스트로리스트 비교하기

목록에서 추가 및 빼기를 추적하고 싶습니다. 무언가가 제거되면 제거 된 콜렉션에 추가되거나 그 반대로도 제거 될 수 있습니다.

다음은 입력

Original List Updated List 
============= ============ 
Jim    Tom 
Tom    Mike 
Mike    Harry 
Sue    Sue 
Kim    Roger 
Roger 

각 목록의 예이다이있는 원하는 출력 :

Addition List Subtraction List 
============= ================ 
Harry   Jim 
       Kim 

당신은 아이디어가 있으면 내가 그들을 듣고 기뻐 것입니다!

+1

한 쌍의 세트 및 해당 하위 집합/교차점 기능을 사용하는 것은 어떻습니까? – Simone

+2

자본 '트위스트'는 나를 통해 정말로 여기 있습니다. 나는 'List with a Twist'가 어떤 유형의 데이터 구조인지 궁금해하고있었습니다. 너무 나쁜 - 그것은 흥미 진진한 소리. –

+0

실망스럽게 생각합니다 – rreeves

답변

8

LINQ를 사용하십시오.

var diff1 = List1.Except(List2); 
var diff2 = List2.Except(List1); 
+1

와우 그 간단한 – rreeves