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

C#에서 2-튜플(쌍 튜플) 만드는 방법과 활용 예제

C# 2-튜플(Tuple<T1, T2>)이란?

C#의 Tuple<T1, T2> 클래스는 두 개의 요소를 가지는 2-튜플(two-tuple), 즉 흔히 쌍(pair)이라고 부르는 자료구조를 나타냅니다. 튜플(tuple)은 여러 개의 요소를 하나의 시퀀스로 묶어 저장하는 데이터 구조로, 서로 관련된 값들을 하나의 단위로 다룰 때 매우 유용합니다.

2-튜플의 각 요소는 읽기 전용 속성인 Item1Item2를 통해 접근할 수 있으며, 두 요소는 서로 다른 타입이어도 됩니다.

예제 1: 문자열 쌍 튜플 만들기

다음은 두 개의 문자열로 2-튜플을 생성하고 조건에 따라 값을 확인하는 예제입니다.

using System;

public class Demo {
public static void Main(string[] args) {
Tuple<string, string> tuple = new Tuple<string, string>("jack", "steve");
Console.WriteLine("Value = " + tuple.Item1);

if (tuple.Item1 == "jack") {
Console.WriteLine("Exists: Tuple Value = " + tuple.Item1);
}
if (tuple.Item2 == "david") {
Console.WriteLine("Exists: Tuple Value = " + tuple.Item2);
}
}
}

실행 결과

Value = jack
Exists: Tuple Value = jack

Item2의 값이 "david"가 아니므로 두 번째 조건문은 실행되지 않습니다.

예제 2: 서로 다른 타입의 쌍 튜플 만들기

2-튜플은 숫자와 문자열처럼 서로 다른 타입의 값도 함께 저장할 수 있습니다.

using System;

public class Demo {
public static void Main(string[] args) {
Tuple<int, string> tuple = new Tuple<int, string>(20, "steve");
Console.WriteLine("Value = " + tuple.Item1);

if (tuple.Item1 == 20) {
Console.WriteLine("Exists: Tuple Value = " + tuple.Item1);
}
if (tuple.Item2 == "david") {
Console.WriteLine("Exists: Tuple Value = " + tuple.Item2);
}
}
}

실행 결과

Value = 20
Exists: Tuple Value = 20

정리 및 참고 사항

  • Tuple<T1, T2>는 불변(immutable) 객체이므로 생성 후에는 요소 값을 변경할 수 없습니다.
  • 각 요소는 Item1, Item2 속성으로 접근합니다.
  • C# 7.0 이상에서는 ValueTuple 문법(예: (int, string) pair = (20, "steve");)을 사용하면 더 간결하고 성능이 좋은 튜플을 만들 수 있습니다.