UNITY/C#7 [C#] ConcurrentDictionary :: 멀티스레드 환경을 위한 Dictionary ConcurrentDictionaryConcurrentDictionary는 .NET (C#)에서 멀티스레드 환경에서 안전하게 데이터를 읽고 쓸 수 있도록 설계된 스레드 안전한 딕셔너리(Dictionary)입니다.기본적으로 Dictionary는 단일 스레드 환경에서는 매우 빠르지만, 멀티스레드 환경에서는 동기화 처리가 필요합니다. 이를 수동으로 처리하는 대신, ConcurrentDictionary를 사용하면 .NET이 내부적으로 락(lock)과 분할(lock striping) 기술을 통해 성능과 안전성을 보장합니다.✅ 주요 특징 스레드 안전(Thread-safe)동시에 여러 스레드가 읽고/쓰기 가능락 분할(Lock Striping)전체 딕셔너리에 락을 걸지 않고, 키 범위에 따라 분할하여 효율성 확보성능 .. 2025. 7. 7. [C#] /// 주석(XML 주석)의 역할 C#에서 ///는 일반적인 주석(//)과는 목적이 조금 다릅니다.이건 XML 주석(XML documentation comment)이라고 하며, 코드 문서를 자동 생성하거나 툴팁 형태로 설명을 제공할 때 사용됩니다.✅ /// 주석의 역할C#에서 ///는 메서드, 클래스, 속성 등 코드 요소를 문서화하기 위해 사용하는 XML 형식의 주석입니다.이 주석은 Visual Studio, JetBrains Rider 같은 IDE에서 툴팁 설명으로도 표시되며,docfx, Sandcastle, Doxygen 같은 도구를 사용하면 이 주석을 기반으로 API 문서 자동 생성도 할 수 있어요.🧾 기본 형식/// /// 이 메서드는 두 수를 더합니다./// /// 첫 번째 정수/// 두 번째 정수/// 두 수의 합public.. 2025. 5. 31. 리스트와 딕셔너리 유니티에서 게임을 개발할 때, 리스트(List)와 딕셔너리(Dictionary)는 자주 사용되는 자료구조입니다. 이 두 자료구조는 각기 다른 특성과 장단점을 가지고 있으므로, 상황에 따라 적합한 자료구조를 선택하는 것이 중요합니다. 각각의 차이점과 장단점을 아래에 정리해드리겠습니다.1. 리스트(List)리스트는 순서가 있는 자료구조로, 요소를 순차적으로 저장하며 인덱스를 통해 접근할 수 있습니다.특징:순서가 있음: 요소가 입력된 순서대로 저장됩니다.인덱스 기반 접근: 각 요소는 인덱스를 통해 빠르게 접근할 수 있습니다.중복 허용: 같은 값을 여러 번 저장할 수 있습니다.가변 크기: 요소를 추가하거나 제거할 수 있습니다.장점:순차적 접근에 유리: 데이터가 순차적으로 저장되어 있어, 순서대로 처리해야 할 때.. 2024. 11. 22. => 연산자 (람다 표현식) `=>` 연산자는 C#에서 람다 표현식을 정의하는 데 사용됩니다. 이는 특히 메서드, 함수, 또는 델리게이트를 간결하게 작성할 수 있게 해줍니다. 예시Func multiply = (x) => x * 2;Console.WriteLine(multiply(5)); // 10 출력 - 람다 표현식을 사용하면 코드가 더 간결하고 읽기 쉬워지며, 특히 함수를 인라인으로 작성할 때 유용합니다. 2024. 10. 21. C# interface :: 'IEnumerator'와 'IEnumerable' (자료👀) 2. IEnumerator 인터페이스 `IEnumerator` 인터페이스는 컬렉션의 요소를 하나씩 순회하는 데 사용됩니다.이 인터페이스는 다음과 같은 세 가지 멤버를 정의합니다:public interface IEnumerator{ object Current { get; } // 현재 위치의 요소 반환 bool MoveNext(); // 다음 요소로 이동하여 요소가 있으면 true를 반환, 없으면 false를 반환 void Reset(); // 열거자를 초기 상태로 되돌림} `Current` 속성은 현재 위치의 요소를 반환하며, `MoveNext()` 메서드는 다음 요소로 이동하고 요소가 있으면 `true`를 반환합니다. `MoveNext()`가 `false.. 2024. 6. 25. C# Statements :: using, yield 오늘의 공부using 관리되지 않은 리소스 해제를 위한 매커니즘이 작동하여 using문으로 선언된 변수가 올바르게 폐기됩니다. using문으로 선언된 변수는 읽기 전용입니다. 재할당하거나 ref 또는 out 매개변수로 전달할 수 없습니다.using ( var resource = new ~~ ) //컨트롤이 using문의 블록을 벗어나면 인스턴스가 해제됩니다.{ //use resource ... //using문의 블록 내에서 예외가 발생하더라도 인스턴스가 삭제되도록 합니다.}//using문을 벗어난 후에 해당 인스턴스를 추가로 사용하면 예외(예:ObjectDisposedException)가 발생합니다.static IEnumerable LoadNumbers(string filePath){ //지역 변수로 .. 2024. 6. 24. 이전 1 2 다음