C#에서 튜플(Tuple)의 세 번째 요소에 접근하려면 Item3 속성을 사용하면 됩니다. C#의 튜플은 각 위치별 요소에 Item1, Item2, Item3... 형태의 속성으로 접근할 수 있으며, 이때 인덱스가 0이 아닌 1부터 시작한다는 점에 유의해야 합니다.
예제 1: 두 개의 튜플 비교 및 요소 출력하기
아래 예제에서는 Tuple.Create() 메서드로 7개의 요소를 가진 튜플 두 개를 생성한 뒤, Equals()로 동등성을 비교하고 GetHashCode()로 해시 코드를 확인합니다. 또한 각 요소를 Item1, Item2, Item4, Item5, Item6, Item7 속성으로 출력합니다.
using System;
public class Demo {
public static void Main(String[] args){
var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
Console.WriteLine("Is Tuple1 equal to Tuple2? = " + tuple1.Equals(tuple2));
Console.WriteLine("HashCode of Tuple1 = " + tuple1.GetHashCode());
Console.WriteLine("HashCode of Tuple2 = " + tuple2.GetHashCode());
Console.WriteLine("Tuple1 Item 1st = " + tuple1.Item1);
Console.WriteLine("Tuple2 Item 1st = " + tuple2.Item1);
Console.WriteLine("Tuple1 Item 2nd = " + tuple1.Item2);
Console.WriteLine("Tuple2 Item 2nd = " + tuple2.Item2);
Console.WriteLine("Tuple1 Item 4th = " + tuple1.Item4);
Console.WriteLine("Tuple2 Item 4th = " + tuple2.Item4);
Console.WriteLine("Tuple1 Item 5th = " + tuple1.Item5);
Console.WriteLine("Tuple2 Item 5th = " + tuple2.Item5);
Console.WriteLine("Tuple1 Item 6th = " + tuple1.Item6);
Console.WriteLine("Tuple2 Item 6th = " + tuple2.Item6);
Console.WriteLine("Tuple1 Item 7th = " + tuple1.Item7);
Console.WriteLine("Tuple2 Item 7th = " + tuple2.Item7);
}
}실행 결과
Is Tuple1 equal to Tuple2? = True HashCode of Tuple1 = 3231587 HashCode of Tuple2 = 3231587 Tuple1 Item 1st = 75 Tuple2 Item 1st = 75 Tuple1 Item 2nd = 200 Tuple2 Item 2nd = 200 Tuple1 Item 4th = 700 Tuple2 Item 4th = 700 Tuple1 Item 5th = 100 Tuple2 Item 5th = 100 Tuple1 Item 6th = 1200 Tuple2 Item 6th = 1200 Tuple1 Item 7th = 1500 Tuple2 Item 7th = 1500
두 튜플은 같은 값으로 생성되었기 때문에 Equals() 결과가 True이며, 해시 코드도 동일하게 반환됩니다.
예제 2: Item3으로 세 번째 요소 가져오기
이번에는 8개의 요소를 가진 튜플을 생성하고, Item3 속성을 사용해 세 번째 요소인 2200을 출력하는 예제입니다.
using System;
public class Demo {
public static void Main(String[] args){
var tuple = Tuple.Create(1200, 1500, 2200, 2700, 3100, 3500, 4500, 5500);
Console.WriteLine("HashCode of Tuple = " + tuple.GetHashCode());
Console.WriteLine("Tuple Item 1st = " + tuple.Item1);
Console.WriteLine("Tuple Item 2nd = " + tuple.Item2);
Console.WriteLine("Tuple Item 3rd = " + tuple.Item3);
Console.WriteLine("Tuple Item 4th = " + tuple.Item4);
Console.WriteLine("Tuple Item 5th = " + tuple.Item5);
Console.WriteLine("Tuple Item 6th = " + tuple.Item6);
Console.WriteLine("Tuple Item 7th = " + tuple.Item7);
}
}실행 결과
HashCode of Tuple = 49989024 Tuple Item 1st = 1200 Tuple Item 2nd = 1500 Tuple Item 3rd = 2200 Tuple Item 4th = 2700 Tuple Item 5th = 3100 Tuple Item 6th = 3500 Tuple Item 7th = 4500
정리
- C# 튜플의 세 번째 요소는
tuple.Item3속성으로 가져올 수 있습니다. - 튜플 요소 속성명은
Item1부터 시작하며, 배열과 달리 0 기반 인덱스가 아닙니다. - 8개 이상의 요소가 필요하면 마지막 요소에 중첩 튜플(Nested Tuple)을 사용하는
TRest매개변수를 활용할 수 있습니다.