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

C# 튜플(Tuple) 클래스 활용법 – 메서드에서 여러 값 반환하기

C# 튜플(Tuple) 클래스란?

클래스 메서드에서 두 개 이상의 값을 반환해야 하는 경우가 종종 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 C#의 튜플(Tuple)입니다. 튜플은 서로 다른 자료형의 데이터를 하나의 단위로 묶어 관리할 수 있는 데이터 구조로, .NET 4.0 버전부터 도입되었습니다.

Tuple 클래스는 튜플 객체를 손쉽게 생성할 수 있는 정적 메서드를 제공하며, 생성된 튜플의 각 요소에는 Item1, Item2와 같은 속성을 통해 접근할 수 있습니다.

튜플의 주요 특징

  • 여러 값 반환: 하나의 메서드에서 여러 값을 동시에 반환할 수 있습니다.
  • 불변(Immutable) 구조: 한 번 생성된 튜플의 요소 값은 변경할 수 없습니다.
  • 다양한 자료형 조합: int, string 등 서로 다른 타입의 요소를 함께 담을 수 있습니다.
  • 간편한 생성: 생성자 또는 정적 메서드를 통해 간단히 만들 수 있습니다.

예제 코드

다음은 C#에서 Tuple을 구현하고 사용하는 방법을 보여주는 예제입니다.

using System;
public class Demo {
    public static void Main(string[] args) {
        Tuple<int, string> tuple = new Tuple<int, string>(2, "Tom");
        if (tuple.Item1 == 150) {
            Console.WriteLine(tuple.Item1);
        }
        if (tuple.Item2 == "Tom") {
            Console.WriteLine(tuple.Item2);
        }
    }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Tom

코드 해설

이 예제에서는 int형과 string형 두 개의 요소를 가지는 튜플을 생성했습니다. 첫 번째 요소 Item1에는 숫자 2가 저장되고, 두 번째 요소 Item2에는 문자열 "Tom"이 저장됩니다.

첫 번째 조건문에서는 Item1이 150과 일치하는지 확인하지만 실제 값이 2이므로 해당 블록은 실행되지 않습니다. 반면 두 번째 조건문에서는 Item2가 "Tom"과 일치하므로 콘솔에 "Tom"이 출력됩니다.

이처럼 튜플을 활용하면 별도의 클래스나 구조체를 정의하지 않고도 여러 값을 간편하게 그룹화하여 처리할 수 있어 코드가 더욱 간결해집니다.