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

C# 튜플의 Rest 속성 활용법 - 8개 이상의 요소를 담는 방법

C#에서 튜플(Tuple)은 기본적으로 최대 7개의 요소까지만 직접 저장할 수 있습니다. 하지만 8번째 요소부터는 Rest 속성을 활용해 다른 튜플 객체를 중첩(nesting)하는 방식으로 더 많은 요소를 저장할 수 있습니다.

8개 요소를 가진 튜플의 구조는 다음과 같습니다.

Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>

여기서 8번째 요소가 바로 Rest 속성을 통해 추가됩니다. Rest 속성에는 또 다른 튜플이 들어가므로, 이론상으로는 무한히 많은 요소를 중첩 구조로 표현할 수 있습니다.

예제 코드

아래 예제는 8개의 요소를 가진 튜플을 생성하고, 각 요소에 접근하는 방법을 보여줍니다. 특히 8번째 요소인 Item8myTuple.Rest를 통해 출력됩니다.

using System;

public class Program {
    public static void Main() {
        var myTuple = Tuple.Create(1, 2.5M, "Tom", "100", 5, 10.5M, "Henry", "100");
        
        Console.WriteLine("Item1 : " + myTuple.Item1);
        Console.WriteLine("Item2 : " + myTuple.Item2);
        Console.WriteLine("Item3 : " + myTuple.Item3);
        Console.WriteLine("Item4 : " + myTuple.Item4);
        Console.WriteLine("Item5 : " + myTuple.Item5);
        Console.WriteLine("Item6 : " + myTuple.Item6);
        Console.WriteLine("Item7 : " + myTuple.Item7);
        Console.WriteLine("Item8 : " + myTuple.Rest);
    }
}

실행 결과

Item1 : 1
Item2 : 2.5
Item3 : Tom
Item4 : 100
Item5 : 5
Item6 : 10.5
Item7 : Henry
Item8 : (100)

주요 포인트 정리

  • 튜플은 기본적으로 Item1~Item7까지의 속성만 제공합니다.
  • 8번째 요소는 Rest 속성 안에 별도의 튜플 형태로 저장되며, 출력 시 괄호 (100)와 같이 표시됩니다.
  • 9개 이상의 요소가 필요하다면 myTuple.Rest.Item1, myTuple.Rest.Item2처럼 중첩된 튜플 내부에 접근하면 됩니다.
  • 실무에서는 가독성을 위해 요소가 많은 경우 튜플 대신 클래스나 레코드(record) 사용을 고려하는 것이 좋습니다.