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); } } } |