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

C#에서 1-튜플(싱글톤 튜플) 생성하는 방법

C#에서 Tuple<T1> 클래스는 요소를 하나만 가지는 1-튜플(1-tuple)을 나타내며, 이를 싱글톤(Singleton)이라고 부릅니다. 튜플(Tuple)은 여러 개의 요소를 순서대로 담을 수 있는 데이터 구조로, 보통 2개 이상의 값을 하나의 단위로 다룰 때 유용하게 사용됩니다.

1-튜플의 기본 개념

1-튜플은 단 하나의 값만 저장하지만, 일반 변수와 달리 튜플 형태로 값을 감싸서 관리할 수 있다는 점이 특징입니다. 저장된 값에는 Item1 속성을 통해 접근할 수 있습니다.

예제 1: 정수형 1-튜플 만들기

다음 예제는 C#에서 정수 값을 가지는 1-튜플을 생성하고 활용하는 방법을 보여줍니다.

using System;
public class Demo {
    public static void Main(string[] args) {
        Tuple<int> tuple = new Tuple<int>(100);
        Console.WriteLine("Value = " + tuple.Item1);
        if (tuple.Item1 == 150) {
            Console.WriteLine(tuple.Item1);
        }
        if (tuple.Item1 == 100) {
            Console.WriteLine(tuple.Item1);
        }
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Value = 100
100

튜플에 저장된 값이 100이므로 첫 번째 조건문(Item1 == 150)은 건너뛰고, 두 번째 조건문(Item1 == 100)이 참이 되어 값이 출력된 것을 확인할 수 있습니다.

예제 2: 문자열 1-튜플 만들기

문자열 타입으로도 1-튜플을 손쉽게 만들 수 있습니다. 아래 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(string[] args) {
        Tuple<string> tuple = new Tuple<string>("amit");
        Console.WriteLine("Value = " + tuple.Item1);
        if (tuple.Item1 == "tom") {
            Console.WriteLine(tuple.Item1);
        }
        if (tuple.Item1 == "amit") {
            Console.WriteLine("Exists: Tuple Value = " + tuple.Item1);
        }
    }
}

출력 결과

Value = amit
Exists: Tuple Value = amit

저장된 문자열이 "amit"이므로 "tom"과 비교하는 조건문은 실행되지 않고, 일치하는 조건문만 통과하여 결과가 출력됩니다.

정리

C#에서 1-튜플은 Tuple<T> 생성자에 단일 값을 전달하는 것만으로 간단히 만들 수 있으며, 값에 접근할 때는 Item1 속성을 사용합니다. 참고로 C# 7.0 이상에서는 더 간결한 ValueTuple(값 튜플) 문법도 제공되므로, 상황에 맞게 선택하여 사용하면 됩니다.