프로그래밍 이야기

C# .Net Framework v4.8 이상 부터는 Dictionary Key 로 enum 을 써도 garbage 가 발생하지 않는다

원소랑 2023. 8. 24. 19:24
728x90

Key 를 찾는 과정에서 boxing 이 일어나 가비지가 생기는 문제가 과거에 있었는데 수정되어서 문제가 해결됨.

EnumEqualityComparer 로 비교 연산을 처리하도록 수정됨.

 

 

참고

https://enghqii.tistory.com/69

 

C#에서 Dictionary에 Enum을 써도 괜찮은것 같다

전에 이런 글에서 Dictionary에 Key값으로 enum을 넣으면 내부에서 boxing이 일어나는데, 그 이유는 Dictionary 내부에서 IEqualityComarer로 ObjectEqualityComparer를 사용하게 되기 때문이라고 했다. 4 버전대 이상

enghqii.tistory.com

https://pizzasheepsdev.tistory.com/2

 

이제는 Unity에서 Dictionary에 Enum을 사용해도 된다

유니티 최적화 관련해서 이런 얘기가 있다. 'Dictionary에 Enum을 Key로 사용하면 내부적으로 박싱이 일어나기 때문에, 사용해선 안된다.' 나도 최근에야 친한 지인분에게 이 얘기를 들었고 처음에 충

pizzasheepsdev.tistory.com

 

참고

https://referencesource.microsoft.com/#mscorlib/system/collections/generic/equalitycomparer.cs,d8e28972e89a3e86

 

Reference Source

 

referencesource.microsoft.com

 

728x90
반응형