[C#, LINQ] SequenceEqual 로 배열의 원소 비교하기

void Compare(IList<int> temp1, IList<int> temp2)
{
    if (temp1.SequenceEqual(temp2))
    {
        Console.WriteLine("두 배열은 일치합니다.");
    }
    else
    {
        Console.WriteLine("두 배열은 일치하지 않습니다.");
    }
}

// 완벽히 동일한 순서 및 Item
IList<int> temp1 = new List<int> { 2, 5, 10, 11, 13 };
IList<int> temp2 = new List<int> { 2, 5, 10, 11, 13 };
Compare(temp1, temp2); // 두 배열은 일치합니다.

// Item의 수와 값은 같지만 위치가 다름
temp1 = new List<int> { 5, 2, 10, 13, 11 };
temp2 = new List<int> { 2, 5, 10, 11, 13 };
Compare(temp1, temp2); // 두 배열은 일치하지 않습니다.

// Item의 수가 다름
temp1 = new List<int> { 5, 2, 10, 13, 11, 100 };
temp2 = new List<int> { 2, 5, 10, 11, 13 };
Compare(temp1, temp2); // 두 배열은 일치하지 않습니다.

오늘은 IEnumerable 인터페이스에 대해 원소를 비교하는 SequenceEqual 테스트입니다.
더 궁금하신 내용은 소스를 퍼가셔서 여러 조건을 추가하셔서 테스트하시면 됩니다.

테스트를 하실 때는 Top Level 프로그래밍이 가능한 .NET 5와, vscode의 확장인 .NET Interactive를 사용하시면 편리합니다.

5개의 좋아요

유닛테스트 짤 때 너무편하고 좋아요.
닷넷6에서 관련된 기능의 성능이 대~~~폭 상향되었다고 합니다.

4개의 좋아요