프로그램을 작성할 때 클래스를 만드는 것을 정당화하기에 충분한 공통성이없는 값 세트를 논리적으로 그룹화하는 것이 매우 일반적입니다.
많은 프로그래밍 언어를 사용하면 한 가지 방법으로 만 유형을 만들지 않고도 관련없는 값 집합을 논리적으로 그룹화 할 수 있습니다.
void M(int foo, string bar, double blah)
논리적으로 이것은 int, string, double의 3- 튜플 인 하나의 인수를 취하는 메소드 M과 정확히 동일합니다. 그러나 나는 당신이 실제로 만들지 않기를 바랍니다.
class MArguments
{
public int Foo { get; private set; }
... etc
MArguments가 비즈니스 로직에서 다른 의미를 가지지 않는 한.
"클래스보다 가벼운 일부 구조에서 관련이없는 데이터 묶음 그룹화"개념은 공식 매개 변수 목록뿐만 아니라 여러 곳에서 유용합니다. 메서드에 반환 할 두 가지 항목이 있거나 하나가 아닌 두 데이터로 사전에 키를 지정하려는 경우 등에 유용합니다.
튜플 형식을 지원하는 F #과 같은 언어는 기본적으로 사용자에게 상당한 유연성을 제공합니다. 매우 유용한 데이터 유형 집합입니다. BCL 팀은 F # 팀과 협력하여 모든 언어가 이점을 얻을 수 있도록 프레임 워크에 대해 하나의 튜플 유형을 표준화하기로 결정했습니다.
그러나 현재 C #에서는 튜플에 대한 언어 지원 이 없습니다 . 튜플은 다른 프레임 워크 클래스와 같은 또 다른 데이터 유형입니다. 그들에게는 특별한 것이 없습니다. 가상의 향후 버전 C #에서 튜플에 대한 더 나은 지원을 추가하는 것을 고려하고 있습니다. 보고 싶은 튜플과 관련된 기능에 대해 생각하는 사람이 있다면 디자인 팀에 전달해 드리겠습니다. 현실적인 시나리오는 이론적 인 생각보다 더 설득력이 있습니다.