728x90

🪟C# | .NET 2

[C#] Hashtable vs Dictionary

🐶🦶을 하다보면 Key - Value를 사용하여 자료를 저장해야 하는 경우가 종종 있다. C#에서 제공되는 타입은 2가지가 있는데 Hashtable과 Dictionary이다. 이 두가지 타입의 사용법과 장단점에 대해 알아보자! Hashtable Hashtable의 경우 Non-Generic 타입으로 Key와 Value 모두 Object를 입력 받는다. Non-Generic 타입이므로 Boxing과 UnBoxing이 일어난다. 즉, Generic을 이용하지 않고 Object를 사용하기 때문에 모든 데이터 타입을 다 받고 처리할 수 있는 장점이 있지만, 자료 입력에 내부적으로 Boxing이 일어나고 사용하는 곳에서 다시 UnBoxing을 해줘야 사용이 가능하다. Hashtable ht = new Hashta..

🪟C# | .NET 2023.06.23

[C#] Boxing & UnBoxing (박싱과 언박싱)

일반적으로 Boxing과 UnBoxing에 대해 잘 몰라도 개발은 가능하지만, 메모리의 관리가 필요하다면 필수적으로 알아두면 좋을 내용이다. 자 그럼, Boxing과 UnBoxing에 대해 알아보자. 🤔 Boxing Boxing(박싱)이란 아래와 같이 값 형식을 Object형식 또는 이 값 형식에서 구현된 임의의 인터페이스 형식으로 변환하는 것이다. 기존에 저장된 Stack 영역에서 Heap 영역에 값 형식을 저장한다. int i = 123; object o = i; 위의 코드를 보면, int 값 형식을 Object 참조 형식으로 형변환을 시도한다. 보통 파라미터로 전달되거나, List 형식으로 모든 값들을 입력받고자 할 때, 사용 될 수 있다. 위의 코드의 메모리 할당은 아래와 같이 이루어 진다. St..

🪟C# | .NET 2022.09.14
728x90