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

C#에서 7-튜플(Septet)을 만드는 방법 – 생성 예제와 활용 사례

C#에서 Tuple<T1, T2, T3, T4, T5, T6, T7> 클래스는 7개의 요소를 담는 튜플, 즉 7-튜플(세븟, Septet)을 나타냅니다. 튜플(Tuple)은 여러 요소를 하나의 시퀀스로 묶어 관리할 수 있는 데이터 구조로, 서로 다른 자료형의 값들을 하나의 단위처럼 다룰 수 있다는 점이 큰 장점입니다.

7-튜플의 주요 활용 사례

  • 데이터 집합에 더 쉽고 편리하게 접근
  • 데이터 집합을 간단하게 조작
  • 단일 데이터 집합을 하나의 객체로 표현
  • 메서드에서 여러 개의 값을 한 번에 반환
  • 메서드 호출 시 여러 개의 값을 한 번에 전달

예제 1 – 7-튜플 생성 및 요소 접근

다음 예제는 C#에서 7-튜플을 생성하고, Item1부터 Item7 속성을 이용해 각 요소에 접근하는 방법을 보여줍니다. 또한 if 문을 사용해 특정 위치의 값이 원하는 값과 일치하는지 확인할 수 있습니다.

using System;
public class Demo {
   public static void Main(string[] args) {
      Tuple<int, int, int, int, int, int, int> tuple = new Tuple<int, int, int, int, int, int, int>(100, 150, 200, 300, 600, 1000, 2000);
      Console.WriteLine("Value (Item1)= " + tuple.Item1);
      Console.WriteLine("Value (Item2)= " + tuple.Item2);
      Console.WriteLine("Value (Item3)= " + tuple.Item3);
      Console.WriteLine("Value (Item4)= " + tuple.Item4);
      Console.WriteLine("Value (Item5)= " + tuple.Item5);
      Console.WriteLine("Value (Item6)= " + tuple.Item6);
      Console.WriteLine("Value (Item7)= " + tuple.Item7);
      if (tuple.Item5 == 600) {
         Console.WriteLine("Exists: Tuple Item 5 = " + tuple.Item5);
      }
      if (tuple.Item6 == 900) {
         Console.WriteLine("Exists: Tuple Item 6 = " + tuple.Item6);
      }
      if (tuple.Item7 == 2000) {
         Console.WriteLine("Exists: Tuple Item 7 = " + tuple.Item7);
      }
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나타납니다. Item6은 값이 900이 아니므로 해당 조건문은 건너뛰어집니다.

Value (Item1)= 100
Value (Item2)= 150
Value (Item3)= 200
Value (Item4)= 300
Value (Item5)= 600
Value (Item6)= 1000
Value (Item7)= 2000
Exists: Tuple Item 5 = 600
Exists: Tuple Item 7 = 2000

예제 2 – 튜플 요소 값 비교하기

이번에는 두 번째 예제를 통해 7-튜플의 서로 다른 요소끼리 값을 비교하는 방법을 살펴보겠습니다. 마지막 조건문에서 Item6과 Item7의 값을 비교하여 두 요소가 일치하면 메시지를 출력합니다.

using System;
public class Demo {
   public static void Main(string[] args) {
      Tuple<int, int, int, int, int, int, int> tuple = new Tuple<int, int, int, int, int, int, int>(100, 150, 200, 300, 600, 1000, 1000);
      Console.WriteLine("Value (Item1)= " + tuple.Item1);
      Console.WriteLine("Value (Item2)= " + tuple.Item2);
      Console.WriteLine("Value (Item3)= " + tuple.Item3);
      Console.WriteLine("Value (Item4)= " + tuple.Item4);
      Console.WriteLine("Value (Item5)= " + tuple.Item5);
      Console.WriteLine("Value (Item6)= " + tuple.Item6);
      Console.WriteLine("Value (Item7)= " + tuple.Item7);
      if (tuple.Item5 == 600) {
         Console.WriteLine("Exists: Tuple Item 5 = " + tuple.Item5);
      }
      if (tuple.Item6 == 900) {
         Console.WriteLine("Exists: Tuple Item 6 = " + tuple.Item6);
      }
      if (tuple.Item7 == 2000) {
         Console.WriteLine("Exists: Tuple Item 7 = " + tuple.Item7);
      }
      if (tuple.Item7 == tuple.Item6) {
         Console.WriteLine("Tuple Items Matched!");
      }
   }
}

실행 결과

이번에는 Item6과 Item7의 값이 모두 1000으로 같기 때문에, 마지막 비교 조건이 참이 되어 일치 메시지가 함께 출력됩니다.

Value (Item1)= 100
Value (Item2)= 150
Value (Item3)= 200
Value (Item4)= 300
Value (Item5)= 600
Value (Item6)= 1000
Value (Item7)= 1000
Exists: Tuple Item 5 = 600
Tuple Items Matched!

정리

C#의 7-튜플은 Item1부터 Item7까지의 읽기 전용 속성을 제공하며, 여러 값을 하나의 객체로 묶어 전달하거나 반환해야 할 때 유용하게 사용할 수 있습니다. 단, 튜플의 요소는 불변(immutable)이므로 생성 이후에는 값을 변경할 수 없다는 점을 기억해두시기 바랍니다.