/// <summary> /// Constructor /// </summary> /// <param name="parent"></param> /// <param name="range"></param> internal OrderedListDictionaryView( OrderedListDictionary <TK, TV> parent, BoundRange <TK> range) { _parent = parent; _range = range; _keys = new OrderedListDictionaryKeys <TK, TV>(_parent, _range); _values = new OrderedListDictionaryValues <TK, TV>(_parent, _range); }
/// <summary> /// Initializes a new instance of the <see cref="OrderedListDictionary{TK,TV}"/> class. /// </summary> /// <param name="keyComparer">The key comparer.</param> public OrderedListDictionary(IComparer <TK> keyComparer) { _itemList = new List <KeyValuePair <TK, TV> >(); _itemComparer = new KeyValuePairComparer(keyComparer, false); var range = new BoundRange <TK>(null, null, keyComparer); _keys = new OrderedListDictionaryKeys <TK, TV>(this, range); _values = new OrderedListDictionaryValues <TK, TV>(this, range); }
/// <summary> /// Initializes a new instance of the <see cref="OrderedListDictionary{TK,TV}" /> class. /// </summary> /// <param name="itemList">The item list.</param> /// <param name="comparer">The comparer.</param> internal OrderedListDictionary( List <KeyValuePair <TK, TV> > itemList, KeyValuePairComparer comparer) { _itemList = itemList; _itemComparer = comparer; var range = new BoundRange <TK>(null, null, comparer.KeyComparer); _keys = new OrderedListDictionaryKeys <TK, TV>(this, range); _values = new OrderedListDictionaryValues <TK, TV>(this, range); }
/// <summary> /// Initializes a new instance of the <see cref="OrderedListDictionary{TK,TV}"/> class. /// </summary> public OrderedListDictionary() { var comparer = Comparers.Default <TK>(); //var comparer = Comparer<TK>.Default; _itemList = new List <KeyValuePair <TK, TV> >(); _itemComparer = new KeyValuePairComparer(comparer, false); var range = new BoundRange <TK>(null, null, comparer); _keys = new OrderedListDictionaryKeys <TK, TV>(this, range); _values = new OrderedListDictionaryValues <TK, TV>(this, range); }