Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Intersect 메서드로 두 컬렉션의 공통 요소 구하기

C#의 Intersect() 메서드는 LINQ에서 제공하는 집합 연산 메서드로, 두 개의 시퀀스(컬렉션)에 모두 존재하는 공통 요소만 추출할 때 사용합니다.

Intersect 메서드 기본 문법

먼저 비교할 두 개의 리스트를 생성합니다.

var list1 = new List<int>{99, 87};
var list2 = new List<int>{56, 87, 45, 99};

이제 Intersect() 메서드를 호출하면 두 리스트에 공통으로 포함된 요소를 반환받을 수 있습니다.

list1.Intersect(list2);

전체 예제 코드

다음은 Intersect() 메서드를 활용한 완전한 예제입니다.

using System.Collections.Generic;
using System.Linq;
using System;

public class Demo {
    public static void Main() {
        
        // 두 개의 리스트 선언
        var list1 = new List<int>{99, 87};
        var list2 = new List<int>{56, 87, 45, 99};

        // 공통 요소 추출
        var res = list1.Intersect(list2);
        foreach(int i in res) {
            Console.WriteLine(i);
        }
    }
}

실행 결과

위 코드를 실행하면 두 리스트에 모두 존재하는 값인 99와 87이 출력됩니다.

99
87

참고 사항

Intersect() 메서드를 사용하려면 System.Linq 네임스페이스를 반드시 포함해야 합니다. 또한 이 메서드는 지연 실행(lazy evaluation) 방식으로 동작하며, 결과에는 중복 요소가 제거된 상태로 반환됩니다. 요소의 순서는 첫 번째 시퀀스에 나타나는 순서를 따릅니다.