재우니의 블로그

 

 

C#의 LINQ를 사용하여 두 목록의 차집합과 교집합을 쉽게 계산할 수 있습니다. 다음은 dataA와 dataB의 차집합과 교집합을 구하는 코드입니다.

 

List<int> dataA = new List<int> { 1, 2, 3, 4, 5 };
List<int> dataB = new List<int> { 3, 4, 5, 6, 7 };

// 차집합 계산
var dataADifference = dataA.Except(dataB).ToList();
var dataBDifference = dataB.Except(dataA).ToList();

// 교집합 계산
var intersection = dataA.Intersect(dataB).ToList();

Console.WriteLine("dataA의 차집합: " + string.Join(", ", dataADifference));
Console.WriteLine("dataB의 차집합: " + string.Join(", ", dataBDifference));
Console.WriteLine("교집합: " + string.Join(", ", intersection));

 

 

dataA의 차집합: 1, 2
dataB의 차집합: 6, 7
교집합: 3, 4, 5

 

 

- Except: 지정된 목록에서 요소를 제외한 목록의 고유 요소를 반환합니다. 이는 차집합을 계산하는 데 사용됩니다.
- Intersect: 두 목록의 공통 요소를 반환합니다. 이는 교집합을 계산하는 데 사용됩니다.