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

C#에서 튜플(Tuple)을 배열(Array)로 변환하는 방법

C#에서 튜플(Tuple)은 서로 다른 타입의 여러 값을 하나의 단위로 묶어 관리할 수 있는 편리한 자료 구조입니다. 하지만 반복문 처리나 LINQ 연산 등 배열이 필요한 상황에서는 튜플의 요소들을 배열로 변환해야 할 때가 있습니다.

1. 튜플 생성하기

먼저 Tuple.Create 메서드를 사용하여 튜플을 생성합니다.

Tuple<int, int> t = Tuple.Create(99, 53);

위 코드는 두 개의 정수 값 99와 53을 담는 튜플을 만듭니다. 튜플의 각 요소는 Item1, Item2 속성으로 접근할 수 있습니다.

2. 튜플을 배열로 변환하기

튜플의 각 요소에 직접 접근하여 새로운 배열의 초기값으로 할당하면 변환이 완료됩니다.

int[] arr = new int[] { t.Item1, t.Item2 };

이 방식은 튜플의 요소 개수가 고정되어 있을 때 가장 간단하고 직관적인 변환 방법입니다.

3. 전체 예제 코드

다음은 튜플을 배열로 변환하고, foreach 문을 사용하여 배열의 모든 요소를 출력하는 완전한 코드입니다.

using System;
using System.Linq;
using System.Collections.Generic;

namespace Demo {
    public class Program {
        public static void Main(string[] args) {
            // 튜플 생성
            Tuple<int, int> t = Tuple.Create(99, 53);

            // 튜플을 배열로 변환
            int[] arr = new int[] { t.Item1, t.Item2 };

            // 배열 요소 출력
            foreach (int val in arr) {
                Console.WriteLine(val);
            }
        }
    }
}

실행 결과

99
53

정리

C#에서 튜플을 배열로 변환하는 핵심은 튜플의 Item1, Item2와 같은 속성에 접근하여 배열 초기화 구문에 직접 넣어주는 것입니다. 요소가 많아지면 코드가 길어질 수 있으므로, 그런 경우에는 LINQ의 리플렉션 기반 확장 메서드를 활용하는 방법도 고려할 수 있습니다. 다만 일반적으로 소수의 요소를 다룰 때는 위 예제처럼 명시적인 변환이 성능과 가독성 면에서 가장 좋습니다.