예제 #1
0
 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);
 }
예제 #2
0
 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);
 }
예제 #3
0
 public OrderedCollection(Comparison <T> comparison)
 {
     _data     = new AVLTree <T, T>(comparison);
     _readOnly = new ExtendedReadOnlyCollection <T>(this);
 }
예제 #4
0
 public OrderedCollection()
 {
     _data     = new AVLTree <T, T>();
     _readOnly = new ExtendedReadOnlyCollection <T>(this);
 }