전에 이런 글에서 Dictionary에 Key값으로 enum을 넣으면 내부에서 boxing이 일어나는데, 그 이유는 Dictionary 내부에서 IEqualityComarer로 ObjectEqualityComparer를 사용하게 되기 때문이라고 했다. 4 버전대 이상 닷넷에선 EqualityComparer.CreateComparer()의 로직이 바뀌었고, 이젠 타입이 enum인지 아닌지를 봐서 EnumEqualityComparer라는 전용 비교자를 만들어 넘겨준다. 진짜 그런지 한번 들여다 본다. C# v.3.5 일단 닷넷 버전 3.5에서 진짜 boxing을 하는지 IL만 잠깐 살펴보도록 한다. 테스트 코드는 아래처럼 작성했는데, 아무래도 상관 없다. 어차피 mscorlib 안쪽만 볼 예정이다. clas..