C# 7.3 버전부터 튜플(Tuple) 간의 동등성 비교가 공식적으로 지원되기 시작했습니다. 이전 버전에서는 각 요소를 하나씩 꺼내 일일이 비교해야 했지만, 이제는 == 연산자 하나만으로 두 튜플을 손쉽게 비교할 수 있습니다.
== 연산자로 튜플 비교하기
두 튜플이 같은지 확인하려면 일반 변수처럼 == 연산자를 사용하면 됩니다. 예를 들어 다음과 같은 두 개의 튜플이 있다고 가정해 보겠습니다.
var one = (x: 1, y: 2); var two = (p: 1, q: 2);
이제 == 연산자로 두 튜플을 비교할 수 있습니다.
if (one == two)
Console.WriteLine("두 튜플은 같습니다(값이 동일합니다).");
else
Console.WriteLine("두 튜플의 값은 서로 다릅니다.");
전체 예제 코드
using System;
class Program
{
static void Main()
{
var one = (x: 1, y: 2);
var two = (p: 1, q: 2);
if (one == two)
Console.WriteLine("두 튜플은 같습니다(값이 동일합니다).");
else
Console.WriteLine("두 튜플의 값은 서로 다릅니다.");
}
}
출력 결과:
두 튜플은 같습니다(값이 동일합니다).
튜플 비교 시 알아두어야 할 사항
- 요소 이름은 무시됩니다. 위 예제에서
x,y와p,q처럼 이름이 달라도 값과 순서가 같으면 두 튜플은 동일한 것으로 판단됩니다. - 값과 순서가 모두 중요합니다.
(1, 2)와(2, 1)은 순서가 다르므로 서로 다른 튜플입니다. - 요소 개수가 같아야 합니다. 요소 개수가 다른 튜플을 비교하면 컴파일 오류가 발생합니다.
- != 연산자도 사용할 수 있습니다. 두 튜플이 다른지 확인할 때는
!=연산자를 사용하면 됩니다.
이처럼 C# 7.3 이상에서는 튜플 비교가 매우 직관적입니다. 별도의 확장 메서드나 외부 라이브러리 없이 기본 문법만으로 두 튜플의 동등성을 빠르게 확인할 수 있으므로, 데이터 그룹을 다룰 때 유용하게 활용해 보세요.