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

C# 중첩 튜플(Nested Tuple) 완벽 가이드 – 선언부터 요소 접근까지

C#에서 튜플(Tuple)은 여러 개의 값을 하나의 단위로 묶어 다룰 수 있게 해주는 유용한 자료 구조입니다. 이번 글에서는 튜플 안에 또 다른 튜플을 포함시키는 중첩 튜플(Nested Tuple)을 선언하고, 그 내부 요소에 접근하는 방법을 예제 코드와 함께 살펴보겠습니다.

중첩 튜플 선언하기

먼저 Tuple.Create 메서드를 사용하여 중첩 튜플을 선언해 보겠습니다. 아래 예제에서는 7번째 위치에 새로운 튜플 (720, 750, 780)을 포함시켰습니다.

var tuple = Tuple.Create(100, 200, 300, 400, 500, 600, Tuple.Create(720, 750, 780), 800);

위 코드에서 내부 튜플은 바깥쪽 튜플의 7번째 항목(Item7)으로 저장됩니다. 참고로 C#의 Tuple 클래스는 최대 8개의 요소까지 지원하며, 8번째 요소는 Rest 속성을 통해 접근할 수 있습니다.

중첩 튜플의 요소에 접근하기

중첩된 튜플의 요소를 출력하려면 Item 속성을 연달아(중첩하여) 사용하면 됩니다. 7번째 항목이 중첩 튜플이므로, 내부 값들은 다음과 같이 가져올 수 있습니다.

tuple.Item7.Item1;
tuple.Item7.Item2;
tuple.Item7.Item3;

전체 예제 코드

지금까지 설명한 내용을 하나의 완성된 프로그램으로 정리하면 다음과 같습니다.

using System;
public class Program {
    public static void Main() {
        var tuple = Tuple.Create(100, 200, 300, 400, 500, 600, Tuple.Create(720, 750, 780), 800);
        Console.WriteLine(tuple.Item1);
        Console.WriteLine(tuple.Item2);
        Console.WriteLine(tuple.Item3);
        Console.WriteLine(tuple.Item4);
        Console.WriteLine(tuple.Item5);
        Console.WriteLine(tuple.Item6);

        // 중첩 튜플
        Console.WriteLine("\nNested Tuple...");
        Console.WriteLine(tuple.Item7.Item1);
        Console.WriteLine(tuple.Item7.Item2);
        Console.WriteLine(tuple.Item7.Item3);
        Console.WriteLine("\n8th element...\n" + tuple.Rest.Item1);
    }
}

실행 결과

100
200
300
400
500
600

Nested Tuple...
720
750
780

8th element...
800

정리

중첩 튜플은 Tuple.Create를 통해 손쉽게 만들 수 있으며, 내부 요소에 접근할 때는 Item7.Item1처럼 속성을 체인 형태로 연결하면 됩니다. 또한 8번째 요소에 접근할 때는 Rest.Item1을 사용한다는 점도 기억해 두면 좋습니다. 이러한 방식을 활용하면 복잡한 데이터 구조도 간결하게 표현할 수 있습니다.