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

C# ToTuple() 메서드 – ValueTuple을 Tuple로 쉽게 변환하기

C# ToTuple() 메서드란?

ValueTuple을 일반 Tuple(튜플)로 변환해야 하는 상황이라면 ToTuple() 메서드를 사용하면 됩니다. C#에서는 이 메서드 하나만으로 ValueTuple을 Tuple로 간편하게 변환할 수 있습니다.

참고: ValueTuple 관련 프로그램을 실행하려면 먼저 System.ValueTuple 패키지를 프로젝트에 추가해야 합니다.

System.ValueTuple 패키지 추가 방법

  1. Visual Studio에서 해당 프로젝트를 엽니다.
  2. 솔루션 탐색기(Solution Explorer)에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
  3. "NuGet 패키지 관리(Manage NuGet Packages)"를 선택합니다.
  4. NuGet 패키지 관리자 화면으로 이동합니다.
  5. [찾아보기(Browse)] 탭을 클릭한 뒤 "ValueTuple"을 검색합니다.
  6. 마지막으로 System.ValueTuple 패키지를 설치합니다.

ToTuple() 메서드 사용 예제

using System;

class Program {
   static void Main() {
      var val = (1, 2, 3);

      // ValueTuple
      Console.WriteLine("ValueTuple: " + val);

      // ValueTuple을 Tuple로 변환
      Tuple<int, int, int> myTuple = val.ToTuple();

      Console.WriteLine("Tuple: " + myTuple);
   }
}

실행 결과

ValueTuple: (1, 2, 3)
Tuple: (1, 2, 3)

ValueTuple과 Tuple의 차이점

위 예제에서 볼 수 있듯이, ToTuple() 메서드는 ValueTuple (1, 2, 3)을 동일한 값을 가진 Tuple<int, int, int> 객체로 변환합니다. 두 형식의 출력 결과는 같지만 내부적으로는 서로 다른 형식입니다.

Tuple은 참조 형식(class)인 반면, ValueTuple은 값 형식(struct)입니다. 따라서 ValueTuple이 성능 면에서 유리하고, 요소에 이름을 부여할 수 있어 가독성도 뛰어납니다. 반면 기존 코드와의 호환이 필요하거나 불변(immutable) 데이터 구조가 필요한 경우에는 Tuple을 사용하는 것이 적합합니다.