클라이언트 프로그래머의 일기/신입 클라이언트 프로그래머의 일기

C# System.Collections.Generic의 List와 SortedSet에 대하여.

ckhyeok 2020. 11. 3. 16:09

 

우선 이 글을 쓴 이유는 IronSource에서 Dependencies를 붙이는 과정에서 발생한 문제를 해결하기 위함이다.

 

해당 유니티 프로젝트의 버전은 2017.4.36f1 버전이었으며, SortedSet은 정확히 몇 버전부터 제공되는지는 모르겠지만

2018.4.13f1 버전으로 실행했을때에는 제공 됐다.

 

해당 DependenciesManager는 SortedSet의 IComparer<T> 를 활용하여 선언함과 동시에 비교 후 Sort까지 하고있었다.

 

하지만, 우리의 프로젝트는 2017 버전이었기에 SortedSet을 사용할 수 없었다.

 

그래서 문제를 해결하기 위해 SortedSet의 구조를 파악하던 중 LIst와 많이 유사한 것을 알 수 있었다.

 

그래서 해당 SortedSet을 List로 선언 한 다음 IComparer 부분을 주석처리 하고 따로 해당 List를 

providersSet.Sort(delegate (providerInfo x, providerInfo y) { return x.providerName.CompareTo(y); });

위와 같이 따로 Sorting 해주었더니 문제가 해결돼었다.

 

쉽게 해결 가능한 문제였으며, 이 문제를 해결함으로써 SortedSet의 편리성을 알게 됐으며, 또한 갈수록 더 편리한 함수들이 나오는 것을 보고 기본에 충실하지 않으면 위와 같은 간단한 문제도 해결하지 못할 수도 있을거란 생각이 들었다.