GetInstance를 활용한 List<string> 예제,ㅡㅡㅡ,ㅡㅡㅡ
GetInstance를 활용한 List<string> 예제,ㅡㅡㅡ,ㅡㅡㅡ

public List<string> redisSenderQueueNM

using System;
using System.Collections.Generic;

public class APMMemory
{
    private static APMMemory apmMemory;
    private List<string> redissenderqueuenm = new List<string>();

    public List<string> redisSenderQueueNM
    {
        get { return redissenderqueuenm; }
        set { redissenderqueuenm = value; }
    }

    private APMMemory() { }

    public static APMMemory GetInstance
    {
        get
        {
            if (apmMemory == null)
                apmMemory = new APMMemory();
            return apmMemory;
        }
    }

    // 문자열을 추가할 때 중복을 체크하는 메서드
    public void AddQueueName(string queueName)
    {
        if (!redissenderqueuenm.Contains(queueName))
        {
            redissenderqueuenm.Add(queueName);
            Console.WriteLine($"Added: {queueName}");
        }
        else
        {
            Console.WriteLine($"Queue name '{queueName}' already exists and was not added.");
        }
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // Singleton instance 가져오기
        APMMemory apmMemory = APMMemory.GetInstance;

        // 중복되지 않게 문자열을 리스트에 추가
        apmMemory.AddQueueName("Queue1");
        apmMemory.AddQueueName("Queue2");
        apmMemory.AddQueueName("Queue3");

        // 중복되는 문자열 추가 시도
        apmMemory.AddQueueName("Queue2");  // 이미 존재하는 문자열
        apmMemory.AddQueueName("Queue4");

        // redisSenderQueueNM 리스트 출력
        Console.WriteLine("\nFinal Redis Sender Queue Names:");
        foreach (string queueName in apmMemory.redisSenderQueueNM)
        {
            Console.WriteLine(queueName);
        }
    }
}

+ Recent posts