C#에서 튜플(Tuple) 선언하기
C#의 튜플은 서로 다른 자료형의 데이터를 하나의 객체로 묶어 관리할 수 있는 편리한 데이터 구조입니다. 튜플을 선언하는 기본 형식은 다음과 같으며, 아래 예시는 int형과 string형 요소를 함께 담는 튜플입니다.
Tuple<int, string> tuple = new Tuple<int, string>(20, "Tom");
첫 번째 항목(Item1) 접근하기
튜플의 첫 번째 항목은 정수형입니다. Item1 속성을 사용해 해당 값에 접근하고 조건을 비교할 수 있습니다.
if (tuple.Item1 == 99) {
Console.WriteLine(tuple.Item1);
}두 번째 항목(Item2) 접근하기
두 번째 항목은 문자열입니다. 마찬가지로 Item2 속성을 통해 값에 접근할 수 있습니다.
if (tuple.Item2 == "Tim") {
Console.WriteLine(tuple.Item2);
}전체 예제 코드
다음은 int형과 string형 항목으로 튜플을 생성하고, 각 항목의 값을 조건문으로 확인하는 완전한 C# 프로그램 예제입니다.
using System;
using System.Threading;
namespace Demo {
class Program {
static void Main(string[] args) {
Tuple<int, string> tuple = new Tuple<int, string>(50, "Tom");
if (tuple.Item1 == 99) {
Console.WriteLine(tuple.Item1);
}
if (tuple.Item2 == "Tim") {
Console.WriteLine(tuple.Item2);
}
}
}
}
위 예제에서 튜플의 첫 번째 항목은 50이므로 99와 일치하지 않아 출력되지 않으며, 두 번째 항목은 "Tom"이므로 "Tim"과도 일치하지 않아 역시 출력되지 않습니다. 조건이 참일 경우에만 Console.WriteLine() 메서드를 통해 해당 값이 화면에 출력됩니다.
참고 사항
Tuple 클래스의 Item1, Item2 같은 속성은 읽기 전용(Read-only)이므로 튜플을 생성한 이후에는 값을 변경할 수 없습니다. 또한 C# 7.0부터는 더 간결한 문법의 ValueTuple을 사용할 수 있는데, 괄호를 이용해 (int, string)처럼 선언하고 명명된 요소에 직접 접근할 수 있어 코드 가독성이 크게 향상됩니다.