C#에서는 메서드가 여러 개의 값을 한 번에 반환해야 할 때 튜플(Tuple)을 활용할 수 있습니다. 이 글에서는 메서드를 호출하여 튜플을 생성하고 반환하는 방법을 예제와 함께 살펴보겠습니다.
기본 개념
먼저, 아래와 같이 메서드를 호출하여 튜플 변수를 생성합니다.
var tuple = Show();
위 문장은 다음과 같이 선언된 Show() 메서드를 호출합니다. 반환 타입은 5개의 int 값을 담는 튜플입니다.
static Tuple<int, int, int, int, int> Show()
메서드 내부에서는 Tuple.Create를 사용해 튜플을 생성한 뒤 반환하면 됩니다.
전체 예제 코드
using System;
public class Demo {
public static void Main() {
var tuple = Show();
Console.WriteLine(tuple.Item1);
Console.WriteLine(tuple.Item2);
Console.WriteLine(tuple.Item3);
Console.WriteLine(tuple.Item4);
Console.WriteLine(tuple.Item5);
}
static Tuple<int, int, int, int, int> Show() {
return Tuple.Create(3, 5, 7, 9, 11);
}
}실행 결과
3 5 7 9 11
코드 설명
Show() 메서드는 Tuple.Create(3, 5, 7, 9, 11)을 통해 5개의 정수 값을 가진 튜플을 생성하여 반환합니다. 호출 측에서는 tuple.Item1부터 tuple.Item5까지의 속성을 통해 각 요소에 순서대로 접근할 수 있습니다.
참고로, C# 7.0 이상에서는 더 간결한 값 튜플(ValueTuple) 문법을 사용할 수 있습니다. 예를 들어 (int, int, int, int, int) Show() => (3, 5, 7, 9, 11);처럼 작성하면 별도의 Tuple.Create 호출 없이 손쉽게 여러 값을 반환할 수 있으며, 요소 이름도 지정할 수 있어 가독성이 크게 향상됩니다.