일반 OrderedDictionary 구현
OrderedDictionary의 일반 구현은 .NET 3.5에서 사용할 수 없지만 이를 만드는 것은 지나치게 복잡하지 않습니다. . 저장을 위해 KeyedCollection을 활용하고 List
인터페이스
public interface IOrderedDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IOrderedDictionary { // ... }
구현
public class OrderedDictionary<TKey, TValue> : IOrderedDictionary<TKey, TValue> { private KeyedCollection2<TKey, KeyValuePair<TKey, TValue>> _keyedCollection; // ... }
도우미 클래스
public class KeyedCollection2<TKey, TItem> : KeyedCollection<TKey, TItem> { private Func<TItem, TKey> _getKeyForItemDelegate; // ... } public class Comparer2<T> : Comparer<T> { private readonly Comparison<T> _compareFunction; // ... } public class DictionaryEnumerator<TKey, TValue> : IDictionaryEnumerator, IDisposable { // ... }
테스트
[TestClass] public class OrderedDictionaryTests { // ... }
이 테스트는 구현된 OrderedDictionary의 다양한 기능을 보여줍니다.
결론
.NET은 일반적인 OrderedDictionary 구현을 제공하지 않으므로 이러한 리소스를 사용하여 직접 구현하는 것은 키 기반 조회 속도와 삽입 순서를 모두 유지하기 위한 실행 가능한 솔루션입니다.
위 내용은 .NET 3.5에서 일반 OrderedDictionary를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!