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); } } } |
'c# 언어 > 중급과정' 카테고리의 다른 글
EUC-KR 인코딩: C#에서는 Encoding.GetEncoding("euc-kr")를 통해 EUC-KR 인코딩을 사용할 수 있습니다. (0) | 2024.08.31 |
---|---|
(CHAT.GPT)dotnet new wpf -n sampleNM & dotnet add package (0) | 2024.08.13 |
KeyValuePair<TKey, TValue>는 C#에서 제공하는 구조체(struct)로, 키와 값을 쌍으로 묶어서 관리할 수 있게 해줍니다. (0) | 2024.08.13 |
모든 네트워크 인터페이스(0.0.0.0)와 로컬 IPv6 주소(::1)에서 수신 대기 상태로 만들기 (0) | 2024.08.10 |
(CHAT.GPT) ManualResetEvent를 통해 메인 스레드를 대기시킴 (0) | 2024.08.04 |