튜플은 여러 필드를 담을 수 있는 구조체입니다. 튜플은 형식의 이름을 가지지 않으므로 임시적으로 사용할 복합 데이터 형식을 선언할 때 적합합니다.
선언 방식
// 명명되지 않은 튜플(Unnamed Tuple)
var tuple = (123, 543);
Console.WriteLine($"{tuple.Item1}, {tuple.Item2}");
컴파일러가 튜플의 모양을 보고 직접 형식을 결정하도록 var
를 이용하여 선언합니다.
튜플은 괄호 사이에 두 개 이상의 필드를 지정함으로써 만들어집니다. C# 컴파일러는 지정한 필드를 차례대로 Item1, Item2 라는 필드에 담습니다.
// 명명된 튜플(Named Tuple)
var tuple = (name: "앤글", age: 19);
Console.WriteLine($"{tuple.name}, {tuple.age}");
명명되지 않은 튜플과 큰 차이점은 없지만 쓰임새에 맞게 필드를 선언할 수 있습니다.
// 튜플을 분해할 수 있다
var tuple = (name: "앤글", age: 19);
var (Name, Age) = tuple; // 분해
Console.WriteLine($"{Name}, {Age}");
튜플을 분해할 수도 있습니다.
// 분해할 때 특정 필드 무시
var tuple = (name: "앤글", age: 19);
var (Name, _) = tuple; // age 필드는 무시
Console.WriteLine($"{Name}");
튜플을 분해할 때 특정 필드가 필요 없다면 _
를 입력하여 무시하고 분해할 수 있습니다.