[c#] 키를 기준으로 불변의 정렬 된 사전 범위 열거

나는 ‘C 번호에 대한 책을 읽은이야되었다 ImmutableSortedDictionary에서 System.Collections.Immutable내 프로그램에 적용하는 방법에 대한 생각. 나는 C ++을 좋아 lower_bound하고 upper_bound( here 참조 ) 오히려 범위 조회를 위해 일종의 무언가를 기대하고있었습니다. 그러나 유사한 방법 은 문서에서 이상하게 보이지 않는 것 같습니다 . 뭔가 빠졌습니까? 또는 MS는 정렬 된 범위에 효율적으로 액세스하지 않고 정렬 된 사전을 제공합니까? 그것은 IEnumerable확장 방법이라고 말하면 키 중 하나에서 할 수있는 것처럼 보이지 않으므로 컬렉션에서 직접 제공 한 것을 보지 못합니다.



답변

사용 가능한 내장 컬렉션이 전체 기능 세트를 제공하지 않고 ( 메소드 가 SortedDictionary없는 등 BinarySearch) 타사 솔루션 (예 : C5 라이브러리 ) 을 검색하도록 강요합니다 .

대신의 귀하의 경우에 ImmutableSortedDictionary당신은 아마 사용할 수 ImmutableSortedSet있는 키의 값을 삽입하고 적절한 비교자를 사용하여. 적어도이 클래스의 API는 속성이 들어 MinMax.


답변