예제 #1
0
            public IOrderedEnumerable <TElement> CreateOrderedEnumerable <TKey>(
                Func <TElement, TKey> keySelector,
                IComparer <TKey> comparer, bool @descending)
            {
                var oe = new HeapOrderedEnumerable <TElement, TKey>(
                    _source, _numItems, keySelector, comparer, descending)
                {
                    _parent = this
                };

                return(oe);
            }
예제 #2
0
            private IEnumerable <HeapOrderedEnumerable <TElement> > GetCriteria()
            {
                var keys = new Stack <HeapOrderedEnumerable <TElement> >();

                HeapOrderedEnumerable <TElement> current = this;

                while (current != null)
                {
                    keys.Push(current);
                    current = current._parent;
                }
                return(keys);
            }