튜플은 서로 다른 데이터 유형의 여러 값을 가질 수 있습니다.
Tuple<T1,T2>클래스를 사용하여 사용자 지정 튜플을 정의 할 수 있습니다.
특정 시퀀스에서 사용자 정의 데이터 유형을 갖습니다.
public class Program {
public static Tuple<string, string, int> ReturnMultipleValues()
{
var result = Tuple.Create<string, string, int>("value1", "value2",3);
return result;
}
public static void Main() {
var returnedvalues = ReturnMultipleValues();
Console.WriteLine(returnedvalues);
}
}
// (value1, value2, 3)
public class Program {
public static (string, string, int) ReturnMultipleValues()
{
return ("value1", "value2",3);;
}
public static void Main() {
(string val1, string val2, int val3) = ReturnMultipleValues();
Console.WriteLine("{0} {1} {2}",val1,val2,val3);
}
}
// value1 value2 3
튜플은 이론상 무한개의 요소를 가지는 클래스를 나타냅니다. C나 Python에서 사용되는 튜플과는
개념적으로 차이가 있습니다. C#의 튜플은 몇가지 특징을 가지는데, 요소의 배열을 나타내는 싱글턴
객체를 쉽게 만들 수 있고, 한번 생성되면 요소의 길이를 변경할 수 없습니다.
또한, 클래스가 생성되면 필드의 값을 변경할 수 없으므로 약간의 주의가 필요합니다.
튜플은 .NET Framework 4.0에 새롭게 추가된 클래스로 아직까지 그렇게 많이 사용되고 있지는 않습
니다만, 2개 이상 값을 반환해야 할 떄 사용하기 좋을듯 합니다.