private void InitializeNullable() { _hasNull = false; _valueForNull = new[] { default(TValue) }; _valueComparer = EqualityComparer <TValue> .Default; _keys = new ExtendedReadOnlyCollection <TKey>( new EnumerationCollection <TKey>( new ConditionalExtendedEnumerable <TKey>( new[] { _typedNull }, _dictionary.Keys, () => _hasNull, null ) ) ); _values = new ExtendedReadOnlyCollection <TValue>( new EnumerationCollection <TValue>( new ConditionalExtendedEnumerable <TValue>( _valueForNull, _dictionary.Values, () => _hasNull, null ) ) ); _readOnly = new ReadOnlyDictionary <TKey, TValue>(this); }
private void InitializeNotNullable() { _hasNull = false; _valueForNull = new[] { default(TValue) }; _valueComparer = EqualityComparer <TValue> .Default; _keys = new ExtendedReadOnlyCollection <TKey>(_dictionary.Keys); _values = new ExtendedReadOnlyCollection <TValue>(_dictionary.Values); _readOnly = new ReadOnlyDictionary <TKey, TValue>(this); }
public OrderedCollection(Comparison <T> comparison) { _data = new AVLTree <T, T>(comparison); _readOnly = new ExtendedReadOnlyCollection <T>(this); }
public OrderedCollection() { _data = new AVLTree <T, T>(); _readOnly = new ExtendedReadOnlyCollection <T>(this); }