-
-
Notifications
You must be signed in to change notification settings - Fork 12
Home
- Enumerator
- JoinType
- Lookup`2
- NullKeyDictionary`2
- OrderByDirection
- PerformanceSensitiveAttribute
- PermutationEnumerator`1
- SubsetEnumerator
- SubsetGenerator`1
-
SuperEnumerable
- AggregateRight``1(source,func)
- AggregateRight``2(source,seed,func)
- AggregateRight``3(source,seed,func,resultSelector)
- Aggregate``10(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7,seed8,accumulator8)
- Aggregate``3(source,seed1,accumulator1,seed2,accumulator2)
- Aggregate``4(source,resultSelector,seed1,accumulator1,seed2,accumulator2)
- Aggregate``4(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3)
- Aggregate``5(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3)
- Aggregate``5(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4)
- Aggregate``6(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4)
- Aggregate``6(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5)
- Aggregate``7(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5)
- Aggregate``7(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6)
- Aggregate``8(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6)
- Aggregate``8(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7)
- Aggregate``9(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7)
- Aggregate``9(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7,seed8,accumulator8)
- AssertCount``1(source,count)
- AtLeast``1(source,count)
- AtMost``1(source,count)
- Backsert``1(first,second,index)
- Batch``1(source,size)
- Batch``2(source,size,resultSelector)
- Batch``2(source,array,resultSelector)
- Batch``2(source,size,array,resultSelector)
- BindByIndex``1(source,indices)
- BindByIndex``2(source,indices,resultSelector,missingSelector)
- BuildOrBindSchema()
- Cartesian``2(first,second)
- Cartesian``3(resultSelector,first,second)
- Cartesian``3(first,second,third)
- Cartesian``4(resultSelector,first,second,third)
- Cartesian``4(first,second,third,fourth)
- Cartesian``5(resultSelector,first,second,third,fourth)
- Cartesian``5(first,second,third,fourth,fifth)
- Cartesian``6(resultSelector,first,second,third,fourth,fifth)
- Cartesian``6(first,second,third,fourth,fifth,sixth)
- Cartesian``7(resultSelector,first,second,third,fourth,fifth,sixth)
- Cartesian``7(first,second,third,fourth,fifth,sixth,seventh)
- Cartesian``8(resultSelector,first,second,third,fourth,fifth,sixth,seventh)
- Cartesian``8(first,second,third,fourth,fifth,sixth,seventh,eighth)
- Cartesian``9(resultSelector,first,second,third,fourth,fifth,sixth,seventh,eighth)
- Choose``2(source,chooser)
- CollectionEqual``1(first,second)
- CollectionEqual``1(first,second,comparer)
- CompareCount``2(first,second)
- Consume``1(source)
- CopyTo``1(source,span)
- CopyTo``1(source,array)
- CopyTo``1(source,list)
- CopyTo``1(source,list,index)
- CountBetween``1(source,min,max)
- CountBy``2(source,keySelector)
- CountBy``2(source,keySelector,comparer)
- CountDown``1(source,count)
- CountDown``2(source,count,resultSelector)
- DensePartialSortBy``2(source,keySelector,count)
- DensePartialSortBy``2(source,keySelector,count,direction)
- DensePartialSortBy``2(source,keySelector,count,comparer)
- DensePartialSortBy``2(source,keySelector,count,comparer,direction)
- DensePartialSort``1(source,count)
- DensePartialSort``1(source,count,direction)
- DensePartialSort``1(source,count,comparer)
- DensePartialSort``1(source,count,comparer,direction)
- DenseRankBy``2(source,keySelector)
- DenseRankBy``2(source,keySelector,comparer)
- DenseRank``1(source)
- DenseRank``1(source,comparer)
- DistinctBy``2(source,keySelector)
- DistinctBy``2(source,keySelector,comparer)
- ElementAtOrDefault``1(source,index)
- ElementAt``1(source,index)
- EndsWith``1(first,second)
- EndsWith``1(first,second,comparer)
- EquiZip``2(first,second)
- EquiZip``3(resultSelector,first,second)
- EquiZip``3(first,second,third)
- EquiZip``4(resultSelector,first,second,third)
- EquiZip``4(first,second,third,fourth)
- EquiZip``5(resultSelector,first,second,third,fourth)
- Evaluate``1(functions)
- Exactly``1(source,count)
- ExceptBy``2(first,second,keySelector)
- ExceptBy``2(first,second,keySelector,keyComparer)
- Exclude``1(sequence,startIndex,count)
- FallbackIfEmpty``1(source,fallback)
- FallbackIfEmpty``1(source,fallback)
- FillBackward``1(source)
- FillBackward``1(source,predicate)
- FillBackward``1(source,predicate,fillSelector)
- FillForward``1(source)
- FillForward``1(source,predicate)
- FillForward``1(source,predicate,fillSelector)
- FindIndex``1(source,predicate)
- FindIndex``1(source,predicate,index)
- FindIndex``1(source,predicate,index,count)
- FindLastIndex``1(source,predicate)
- FindLastIndex``1(source,predicate,index)
- FindLastIndex``1(source,predicate,index,count)
- Flatten(source)
- Flatten(source,predicate)
- Flatten(source,selector)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- Fold``2(source,folder)
- From``1(function)
- From``1(function1,function2)
- From``1(function1,function2,function3)
- From``1(functions)
- FullGroupJoin``3(first,second,firstKeySelector,secondKeySelector)
- FullGroupJoin``3(first,second,firstKeySelector,secondKeySelector,comparer)
- FullGroupJoin``4(first,second,firstKeySelector,secondKeySelector,resultSelector)
- FullGroupJoin``4(first,second,firstKeySelector,secondKeySelector,resultSelector,comparer)
- FullJoin``3(first,second,keySelector,firstSelector,secondSelector,bothSelector)
- FullJoin``3(first,second,keySelector,firstSelector,secondSelector,bothSelector,comparer)
- FullJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector)
- FullJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector,comparer)
- FullOuterJoin``3(left,right,joinType,leftKeySelector,rightKeySelector)
- FullOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,comparer)
- FullOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,rightResultSelector,bothResultSelector)
- FullOuterJoin``5(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,rightResultSelector,bothResultSelector,comparer)
- GenerateByIndex``1(generator)
- Generate``1(initial,generator)
- GetShortestPathCost``2(start,getNeighbors,end)
- GetShortestPathCost``2(start,getNeighbors,end,stateComparer,costComparer)
- GetShortestPathCost``2(start,getNeighbors,predicate)
- GetShortestPathCost``2(start,getNeighbors,predicate,stateComparer,costComparer)
- GetShortestPathCost``2(start,getNeighbors,end)
- GetShortestPathCost``2(start,getNeighbors,end,stateComparer,costComparer)
- GetShortestPathCost``2(start,getNeighbors,predicate)
- GetShortestPathCost``2(start,getNeighbors,predicate,stateComparer,costComparer)
- GetShortestPath``2(start,getNeighbors,end)
- GetShortestPath``2(start,getNeighbors,end,stateComparer,costComparer)
- GetShortestPath``2(start,getNeighbors,predicate)
- GetShortestPath``2(start,getNeighbors,predicate,stateComparer,costComparer)
- GetShortestPath``2(start,getNeighbors,end)
- GetShortestPath``2(start,getNeighbors,end,stateComparer,costComparer)
- GetShortestPath``2(start,getNeighbors,predicate)
- GetShortestPath``2(start,getNeighbors,predicate,stateComparer,costComparer)
- GetShortestPaths``2(start,getNeighbors)
- GetShortestPaths``2(start,getNeighbors,stateComparer,costComparer)
- GroupAdjacent``2(source,keySelector)
- GroupAdjacent``2(source,keySelector,comparer)
- GroupAdjacent``3(source,keySelector,elementSelector)
- GroupAdjacent``3(source,keySelector,elementSelector,comparer)
- GroupAdjacent``3(source,keySelector,resultSelector)
- GroupAdjacent``3(source,keySelector,resultSelector,comparer)
- Identity``1()
- IndexBy``2(source,keySelector)
- IndexBy``2(source,keySelector,comparer)
- IndexOf``1(source,item)
- IndexOf``1(source,item,index)
- IndexOf``1(source,item,index,count)
- Index``1(source)
- Index``1(source,startIndex)
- InnerJoin``3(left,right,joinType,leftKeySelector,rightKeySelector)
- InnerJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,comparer)
- InnerJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,bothResultSelector)
- InnerJoin``5(left,right,joinType,leftKeySelector,rightKeySelector,bothResultSelector,comparer)
- Insert``1(first,second,index)
- Insert``1(first,second,index)
- Interleave``1(source,otherSources)
- Interleave``1(sources)
- Lag``1(source,offset)
- Lag``2(source,offset,resultSelector)
- Lag``2(source,offset,defaultLagValue,resultSelector)
- LastIndexOf``1(source,item)
- LastIndexOf``1(source,item,index)
- LastIndexOf``1(source,item,index,count)
- Lead``1(source,offset)
- Lead``2(source,offset,resultSelector)
- Lead``2(source,offset,defaultLeadValue,resultSelector)
- LeftJoin``3(first,second,keySelector,firstSelector,bothSelector)
- LeftJoin``3(first,second,keySelector,firstSelector,bothSelector,comparer)
- LeftJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,bothSelector)
- LeftJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,bothSelector,comparer)
- LeftOuterJoin``3(left,right,joinType,leftKeySelector,rightKeySelector)
- LeftOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,comparer)
- LeftOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,bothResultSelector)
- LeftOuterJoin``5(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,bothResultSelector,comparer)
- MaxItemsBy``2(source,keySelector)
- MaxItemsBy``2(source,keySelector,comparer)
- MaxItems``1(source)
- MaxItems``1(source,comparer)
- MinItemsBy``2(source,keySelector)
- MinItemsBy``2(source,keySelector,comparer)
- MinItems``1(source)
- MinItems``1(source,comparer)
- Move``1(source,fromIndex,count,toIndex)
- NestedLoops(action,loopCounts)
- OrderBy``2(source,keySelector,direction)
- OrderBy``2(source,keySelector,direction,comparer)
- OrderedMerge``1(first,second)
- OrderedMerge``1(first,second,comparer)
- OrderedMerge``2(first,second,keySelector)
- OrderedMerge``2(first,second,keySelector,comparer)
- OrderedMerge``3(first,second,keySelector,firstSelector,secondSelector,bothSelector)
- OrderedMerge``3(first,second,keySelector,firstSelector,secondSelector,bothSelector,comparer)
- OrderedMerge``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector)
- OrderedMerge``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector,comparer)
- PadStart``1(source,width)
- PadStart``1(source,width,padding)
- PadStart``1(source,width,paddingSelector)
- Pad``1(source,width)
- Pad``1(source,width,padding)
- Pad``1(source,width,paddingSelector)
- PartialSortBy``2(source,keySelector,count)
- PartialSortBy``2(source,keySelector,count,direction)
- PartialSortBy``2(source,keySelector,count,comparer)
- PartialSortBy``2(source,keySelector,count,comparer,direction)
- PartialSort``1(source,count)
- PartialSort``1(source,count,direction)
- PartialSort``1(source,count,comparer)
- PartialSort``1(source,count,comparer,direction)
- Partition``1(source,predicate)
- Partition``2(source,predicate,resultSelector)
- Partition``2(source,resultSelector)
- Partition``2(source,resultSelector)
- Partition``3(source,key,resultSelector)
- Partition``3(source,key,comparer,resultSelector)
- Partition``3(source,key1,key2,resultSelector)
- Partition``3(source,key1,key2,comparer,resultSelector)
- Partition``3(source,key1,key2,key3,resultSelector)
- Partition``3(source,key1,key2,key3,comparer,resultSelector)
- Permutations``1(sequence)
- Pipe``1(source,action)
- PreScan``1(source,transformation,identity)
- Random()
- Random(rand)
- Random(maxValue)
- Random(rand,maxValue)
- Random(minValue,maxValue)
- Random(rand,minValue,maxValue)
- RandomDouble()
- RandomDouble(rand)
- RandomImpl``1(rand,nextValue)
- RandomSubset``1(source,subsetSize)
- RandomSubset``1(source,subsetSize,rand)
- Range(start,count,step)
- RankBy``2(source,keySelector)
- RankBy``2(source,keySelector,comparer)
- Rank``1(source)
- Rank``1(source,comparer)
- Replace``1(source,index,value)
- Replace``1(source,index,value)
- Return``1(item)
- RightJoin``3(first,second,keySelector,secondSelector,bothSelector)
- RightJoin``3(first,second,keySelector,secondSelector,bothSelector,comparer)
- RightJoin``4(first,second,firstKeySelector,secondKeySelector,secondSelector,bothSelector)
- RightJoin``4(first,second,firstKeySelector,secondKeySelector,secondSelector,bothSelector,comparer)
- RightOuterJoin``3(left,right,joinType,leftKeySelector,rightKeySelector)
- RightOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,comparer)
- RightOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,rightResultSelector,bothResultSelector)
- RightOuterJoin``5(left,right,joinType,leftKeySelector,rightKeySelector,rightResultSelector,bothResultSelector,comparer)
- RunLengthEncode``1(sequence)
- RunLengthEncode``1(sequence,comparer)
- ScanBy``3(source,keySelector,seedSelector,accumulator)
- ScanBy``3(source,keySelector,seedSelector,accumulator,comparer)
- ScanEx``1(source,transformation)
- ScanEx``2(source,seed,transformation)
- ScanRight``1(source,func)
- ScanRight``2(source,seed,func)
- Segment``1(source,newSegmentPredicate)
- Segment``1(source,newSegmentPredicate)
- Segment``1(source,newSegmentPredicate)
- Sequence(start,stop)
- Sequence(start,stop,step)
- Shuffle``1(source)
- Shuffle``1(source,rand)
- SkipUntil``1(source,predicate)
- Slice``1(source,startIndex,count)
- SortedMergeByDescending``2(source,keySelector,otherSequences)
- SortedMergeByDescending``2(source,keySelector,comparer,otherSequences)
- SortedMergeBy``2(source,keySelector,otherSequences)
- SortedMergeBy``2(source,keySelector,comparer,otherSequences)
- SortedMergeBy``2(source,keySelector,direction,otherSequences)
- SortedMergeBy``2(source,keySelector,direction,comparer,otherSequences)
- SortedMergeDescending``1(source,otherSequences)
- SortedMergeDescending``1(source,comparer,otherSequences)
- SortedMerge``1(source,otherSequences)
- SortedMerge``1(source,comparer,otherSequences)
- SortedMerge``1(source,direction,otherSequences)
- SortedMerge``1(source,direction,comparer,otherSequences)
- Split``1(source,separator)
- Split``1(source,separator,count)
- Split``1(source,separator,comparer)
- Split``1(source,separator,comparer,count)
- Split``1(source,separatorFunc)
- Split``1(source,separatorFunc,count)
- Split``2(source,separator,resultSelector)
- Split``2(source,separator,count,resultSelector)
- Split``2(source,separator,comparer,resultSelector)
- Split``2(source,separator,comparer,count,resultSelector)
- Split``2(source,separatorFunc,resultSelector)
- Split``2(source,separatorFunc,count,resultSelector)
- StartsWith``1(first,second)
- StartsWith``1(first,second,comparer)
- Subsets``1(sequence)
- Subsets``1(sequence,subsetSize)
- TagFirstLast``1(source)
- TagFirstLast``2(source,resultSelector)
- TakeEvery``1(source,step)
- TakeUntil``1(source,predicate)
- ThenBy``2(source,keySelector,direction)
- ThenBy``2(source,keySelector,direction,comparer)
- ToArrayByIndex``1(source,indexSelector)
- ToArrayByIndex``1(source,length,indexSelector)
- ToArrayByIndex``2(source,indexSelector,resultSelector)
- ToArrayByIndex``2(source,indexSelector,resultSelector)
- ToArrayByIndex``2(source,length,indexSelector,resultSelector)
- ToArrayByIndex``2(source,length,indexSelector,resultSelector)
- ToDataTable``1(source,expressions)
- ToDataTable``1(source)
- ToDataTable``2(source,table)
- ToDataTable``2(source,table,expressions)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString(source,delimiter)
- ToDelimitedString``1(source,delimiter)
- ToDictionary``2(source)
- ToDictionary``2(source,comparer)
- ToDictionary``2(source)
- ToDictionary``2(source,comparer)
- ToLookup``2(source)
- ToLookup``2(source,comparer)
- ToLookup``2(source)
- ToLookup``2(source,comparer)
- Trace``1(source)
- Trace``1(source,format)
- Trace``1(source,formatter)
- Transpose``1(source)
- TraverseBreadthFirst``1(root,childrenSelector)
- TraverseDepthFirst``1(root,childrenSelector)
- TrySingle``2(source,zero,one,many)
- TrySingle``3(source,zero,one,many,resultSelector)
- Unfold``3(state,generator,predicate,stateSelector,resultSelector)
- Where``1(source,filter)
- WindowLeft``1(source,size)
- WindowLeft``2(source,size,selector)
- WindowLeft``2(source,array,selector)
- WindowLeft``2(source,size,array,selector)
- WindowRight``1(source,size)
- WindowRight``2(source,size,selector)
- WindowRight``2(source,array,selector)
- WindowRight``2(source,size,array,selector)
- Window``1(source,size)
- Window``2(source,size,selector)
- Window``2(source,array,selector)
- Window``2(source,array,size,selector)
- ZipLongest``2(first,second)
- ZipLongest``3(resultSelector,first,second)
- ZipLongest``3(first,second,third)
- ZipLongest``4(resultSelector,first,second,third)
- ZipLongest``4(first,second,third,fourth)
- ZipLongest``5(resultSelector,first,second,third,fourth)
- ZipMap``2(source,selector)
- ZipShortest``2(first,second)
- ZipShortest``3(resultSelector,first,second)
- ZipShortest``3(first,second,third)
- ZipShortest``4(resultSelector,first,second,third)
- ZipShortest``4(first,second,third,fourth)
- ZipShortest``5(resultSelector,first,second,third,fourth)
- UnorderedItemsCollection
-
UpdatablePriorityQueue`2
- #ctor()
- #ctor(initialCapacity)
- #ctor(priorityComparer)
- #ctor(elementComparer)
- #ctor(initialCapacity,priorityComparer,elementComparer)
- #ctor(items)
- #ctor(items,priorityComparer,elementComparer)
- Arity
- Log2Arity
- _elementComparer
- _elementIndex
- _nodes
- _priorityComparer
- _unorderedItems
- _version
- Comparer
- Count
- UnorderedItems
- Clear()
- Dequeue()
- Enqueue(element,priority)
- EnqueueDequeue(element,priority)
- EnqueueMinimum(element,priority)
- EnqueueRange(items)
- EnqueueRange(elements,priority)
- EnqueueRangeMinimum(items)
- EnqueueRangeMinimum(elements,priority)
- EnsureCapacity(capacity)
- GetFirstChildIndex()
- GetParentIndex()
- Grow()
- Heapify()
- InitializeComparer()
- MoveDownCustomComparer()
- MoveDownDefaultComparer()
- MoveUpCustomComparer()
- MoveUpDefaultComparer()
- Peek()
- RemoveRootNode()
- TrimExcess()
- TryDequeue(element,priority)
- TryPeek(element,priority)
- ValueTupleComparer
- ValueTupleEqualityComparer
SuperLinq.Collections.UpdatablePriorityQueue`2.UnorderedItemsCollection
Enumerates the element and priority pairs of a UpdatablePriorityQueue`2, without any ordering guarantees.
Gets the element at the current position of the enumerator.
Releases all resources used by the Enumerator.
This method has no parameters.
Advances the enumerator to the next element of the UnorderedItems.
true
if the enumerator was successfully advanced to the next element; false
if the enumerator has passed the end of the collection.
This method has no parameters.
SuperLinq
Values defining which type of join to use in join functions.
Build a ILookup`2 for one side to execute the join.
Use nested loops over the left and right inputs to execute the join.
Simultaneously enumerates both sequences to execute the join.
A merge join assumes that the left and right inputs are already sorted. If they are not sorted, then the results will be undefined.
SuperLinq
A ILookup`2 implementation that preserves insertion order
This implementation preserves insertion order of keys and elements within each IEnumerable`1. Copied and modified from
Lookup.cs
SuperLinq.Collections
A minimal Dictionary`2 wrapper that
allows null keys when TKey
is a
reference type.
SuperLinq
Enumeration that defines values representing valid ordering directions for a sequence.
Elements are ordered by increasing value
Elements are ordered by decreasing value
Roslyn.Utilities
Indicates that a code element is performance sensitive under a known scenario.
When applying this attribute, only explicitly set the values for properties specifically indicated by the test/measurement technique described in the associated Uri.
Gets or sets a value indicating whether captures are allowed.
Gets or sets a value indicating whether enumeration of a generic IEnumerable`1 is allowed.
Gets or sets a value indicating whether implicit boxing of value types is allowed.
Gets or sets a value indicating whether locks are allowed.
Gets or sets a description of the constraint imposed by the original performance issue.
Constraints are normally specified by other specific properties that allow automated validation of the constraint. This property supports documenting constraints which cannot be described in terms of other constraint properties.
Gets or sets a value indicating whether this is an entry point to a parallel algorithm.
Parallelization APIs and algorithms, e.g. Parallel.ForEach
, may be efficient for parallel entry
points (few direct calls but large amounts of iterative work), but are problematic when called inside the
iterations themselves. Performance-sensitive code should avoid the use of heavy parallelization APIs except
for known entry points to the parallel portion of code.
Gets or sets a value indicating whether the asynchronous state machine typically completes synchronously.
When true
, validation of this performance constraint typically involves analyzing
the method to ensure synchronous completion of the state machine does not require the allocation of a
Task, either through caching the result or by using
ValueTask`1.
Gets the location where the original problem is documented, likely with steps to reproduce the issue and/or validate performance related to a change in the method.
SuperLinq.SuperEnumerable
The private implementation class that produces permutations of a sequence.
Transposes elements in the cached permutation array to produce the next permutation
This method has no parameters.
Creates a new list containing the values from the original set in their new permuted order.
List of permuted source sequence values
This method has no parameters.
The reason we return a new permuted value set, rather than reuse an existing collection, is that we have no control over what the consumer will do with the results produced. They could very easily generate and store a set of permutations and only then begin to process them. If we reused the same collection, the caller would be surprised to discover that all of the permutations looked the same.
SuperLinq.SuperEnumerable.SubsetGenerator`1
SubsetEnumerator uses a snapshot of the original sequence, and an iterative, reductive swap algorithm to produce all subsets of a predetermined size less than or equal to the original set size.
SuperLinq.SuperEnumerable
This class is responsible for producing the lexographically ordered k-subsets
Returns an enumerator that produces all of the k-sized subsets of the initial value set. The enumerator returns and IList`1 for each subset.
an IEnumerator that enumerates all k-sized subsets
This method has no parameters.
SuperLinq
Provides a set of static methods for querying objects that implement IEnumerable`1.
Applies a right-associative accumulator function over a sequence. This operator is the right-associative version of the Aggregate``1 LINQ operator.
The final accumulator value.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
func | System.Func{``0,``0,``0} | A right-associative accumulator function to be invoked on each element. |
Name | Description |
---|---|
TSource | The type of the elements of source. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
func is null . |
<![CDATA[
string result = Enumerable.Range(1, 5).Select(i => i.ToString()).AggregateRight((a, b) => string.Format("({0}/{1})", a, b));
]]>
The result
variable will contain "(1/(2/(3/(4/5))))"
.
This operator executes immediately.
Applies a right-associative accumulator function over a sequence. The specified seed value is used as the initial accumulator value. This operator is the right-associative version of the Aggregate``2 LINQ operator.
The final accumulator value.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
seed | ``1 | The initial accumulator value. |
func | System.Func{``0,``1,``1} | A right-associative accumulator function to be invoked on each element. |
Name | Description |
---|---|
TSource | The type of the elements of source. |
TAccumulate | The type of the accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
func is null . |
<![CDATA[
var numbers = Enumerable.Range(1, 5);
string result = numbers.AggregateRight("6", (a, b) => string.Format("({0}/{1})", a, b));
]]>
The result
variable will contain "(1/(2/(3/(4/(5/6)))))"
.
This operator executes immediately.
Applies a right-associative accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. This operator is the right-associative version of the Aggregate``3 LINQ operator.
The transformed final accumulator value.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
seed | ``1 | The initial accumulator value. |
func | System.Func{``0,``1,``1} | A right-associative accumulator function to be invoked on each element. |
resultSelector | System.Func{``1,``2} | A function to transform the final accumulator value into the result value. |
Name | Description |
---|---|
TSource | The type of the elements of source. |
TAccumulate | The type of the accumulator value. |
TResult | The type of the resulting value. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
func is null . |
System.ArgumentNullException |
resultSelector is null . |
<![CDATA[
var numbers = Enumerable.Range(1, 5);
int result = numbers.AggregateRight("6", (a, b) => string.Format("({0}/{1})", a, b), str => str.Length);
]]>
The result
variable will contain 21
.
This operator executes immediately.
Aggregate``10(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7,seed8,accumulator8) method
Applies eight accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | ``4 | The third accumulator. |
seed4 | System.Func{``4,``0,``4} | The seed value for the fourth accumulator. |
accumulator4 | ``5 | The fourth accumulator. |
seed5 | System.Func{``5,``0,``5} | The seed value for the fifth accumulator. |
accumulator5 | ``6 | The fifth accumulator. |
seed6 | System.Func{``6,``0,``6} | The seed value for the sixth accumulator. |
accumulator6 | ``7 | The sixth accumulator. |
seed7 | System.Func{``7,``0,``7} | The seed value for the seventh accumulator. |
accumulator7 | ``8 | The seventh accumulator. |
seed8 | System.Func{``8,``0,``8} | The seed value for the eighth accumulator. |
accumulator8 | System.Func{``1,``2,``3,``4,``5,``6,``7,``8,``9} | The eighth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
TAccumulate7 | The type of the seventh accumulator value. |
TAccumulate8 | The type of the eighth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Applies two accumulators sequentially in a single pass over a sequence.
A ValueTuple`2 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Applies two accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | System.Func{``1,``2,``3} | The second accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Applies three accumulators sequentially in a single pass over a sequence.
A ValueTuple`3 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Applies three accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | System.Func{``1,``2,``3,``4} | The third accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``5(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4) method
Applies four accumulators sequentially in a single pass over a sequence.
A ValueTuple`4 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
seed4 | ``4 | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``4,``0,``4} | The fourth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``6(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4) method
Applies four accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | ``4 | The third accumulator. |
seed4 | System.Func{``4,``0,``4} | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``1,``2,``3,``4,``5} | The fourth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``6(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5) method
Applies five accumulators sequentially in a single pass over a sequence.
A ValueTuple`5 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
seed4 | ``4 | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``4,``0,``4} | The fourth accumulator. |
seed5 | ``5 | The seed value for the fifth accumulator. |
accumulator5 | System.Func{``5,``0,``5} | The fifth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``7(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5) method
Applies five accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | ``4 | The third accumulator. |
seed4 | System.Func{``4,``0,``4} | The seed value for the fourth accumulator. |
accumulator4 | ``5 | The fourth accumulator. |
seed5 | System.Func{``5,``0,``5} | The seed value for the fifth accumulator. |
accumulator5 | System.Func{``1,``2,``3,``4,``5,``6} | The fifth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``7(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6) method
Applies six accumulators sequentially in a single pass over a sequence.
A ValueTuple`6 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
seed4 | ``4 | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``4,``0,``4} | The fourth accumulator. |
seed5 | ``5 | The seed value for the fifth accumulator. |
accumulator5 | System.Func{``5,``0,``5} | The fifth accumulator. |
seed6 | ``6 | The seed value for the sixth accumulator. |
accumulator6 | System.Func{``6,``0,``6} | The sixth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``8(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6) method
Applies six accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | ``4 | The third accumulator. |
seed4 | System.Func{``4,``0,``4} | The seed value for the fourth accumulator. |
accumulator4 | ``5 | The fourth accumulator. |
seed5 | System.Func{``5,``0,``5} | The seed value for the fifth accumulator. |
accumulator5 | ``6 | The fifth accumulator. |
seed6 | System.Func{``6,``0,``6} | The seed value for the sixth accumulator. |
accumulator6 | System.Func{``1,``2,``3,``4,``5,``6,``7} | The sixth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``8(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7) method
Applies seven accumulators sequentially in a single pass over a sequence.
A ValueTuple`7 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
seed4 | ``4 | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``4,``0,``4} | The fourth accumulator. |
seed5 | ``5 | The seed value for the fifth accumulator. |
accumulator5 | System.Func{``5,``0,``5} | The fifth accumulator. |
seed6 | ``6 | The seed value for the sixth accumulator. |
accumulator6 | System.Func{``6,``0,``6} | The sixth accumulator. |
seed7 | ``7 | The seed value for the seventh accumulator. |
accumulator7 | System.Func{``7,``0,``7} | The seventh accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
TAccumulate7 | The type of the seventh accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``9(source,resultSelector,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7) method
Applies seven accumulators sequentially in a single pass over a sequence.
The value returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
resultSelector | ``1 | A function that projects a single result given the result of each accumulator. |
seed1 | System.Func{``1,``0,``1} | The seed value for the first accumulator. |
accumulator1 | ``2 | The first accumulator. |
seed2 | System.Func{``2,``0,``2} | The seed value for the second accumulator. |
accumulator2 | ``3 | The second accumulator. |
seed3 | System.Func{``3,``0,``3} | The seed value for the third accumulator. |
accumulator3 | ``4 | The third accumulator. |
seed4 | System.Func{``4,``0,``4} | The seed value for the fourth accumulator. |
accumulator4 | ``5 | The fourth accumulator. |
seed5 | System.Func{``5,``0,``5} | The seed value for the fifth accumulator. |
accumulator5 | ``6 | The fifth accumulator. |
seed6 | System.Func{``6,``0,``6} | The seed value for the sixth accumulator. |
accumulator6 | ``7 | The sixth accumulator. |
seed7 | System.Func{``7,``0,``7} | The seed value for the seventh accumulator. |
accumulator7 | System.Func{``1,``2,``3,``4,``5,``6,``7,``8} | The seventh accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TResult | The type of the accumulated result. |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
TAccumulate7 | The type of the seventh accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector or any of the accumulator functions is null. |
This operator executes immediately.
Aggregate``9(source,seed1,accumulator1,seed2,accumulator2,seed3,accumulator3,seed4,accumulator4,seed5,accumulator5,seed6,accumulator6,seed7,accumulator7,seed8,accumulator8) method
Applies eight accumulators sequentially in a single pass over a sequence.
A ValueTuple`8 containing the result of each accumulator.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
seed1 | ``1 | The seed value for the first accumulator. |
accumulator1 | System.Func{``1,``0,``1} | The first accumulator. |
seed2 | ``2 | The seed value for the second accumulator. |
accumulator2 | System.Func{``2,``0,``2} | The second accumulator. |
seed3 | ``3 | The seed value for the third accumulator. |
accumulator3 | System.Func{``3,``0,``3} | The third accumulator. |
seed4 | ``4 | The seed value for the fourth accumulator. |
accumulator4 | System.Func{``4,``0,``4} | The fourth accumulator. |
seed5 | ``5 | The seed value for the fifth accumulator. |
accumulator5 | System.Func{``5,``0,``5} | The fifth accumulator. |
seed6 | ``6 | The seed value for the sixth accumulator. |
accumulator6 | System.Func{``6,``0,``6} | The sixth accumulator. |
seed7 | ``7 | The seed value for the seventh accumulator. |
accumulator7 | System.Func{``7,``0,``7} | The seventh accumulator. |
seed8 | ``8 | The seed value for the eighth accumulator. |
accumulator8 | System.Func{``8,``0,``8} | The eighth accumulator. |
Name | Description |
---|---|
T | The type of elements in source . |
TAccumulate1 | The type of the first accumulator value. |
TAccumulate2 | The type of the second accumulator value. |
TAccumulate3 | The type of the third accumulator value. |
TAccumulate4 | The type of the fourth accumulator value. |
TAccumulate5 | The type of the fifth accumulator value. |
TAccumulate6 | The type of the sixth accumulator value. |
TAccumulate7 | The type of the seventh accumulator value. |
TAccumulate8 | The type of the eighth accumulator value. |
Name | Description |
---|---|
System.ArgumentNullException |
source or any of the accumulator functions is null. |
This operator executes immediately.
Asserts that a source sequence contains a given count of elements.
Returns the original sequence as long it is contains the number of elements specified by count
. Otherwise it throws ArgumentException.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
count | System.Int32 | Count to assert. |
Name | Description |
---|---|
TSource | Type of elements in source sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null. |
System.ArgumentOutOfRangeException |
count is less than 0 . |
System.ArgumentException |
source has a length different than count . |
This operator uses deferred execution and streams its results.
Determines whether or not the number of elements in the sequence is greater than or equal to the given integer.
true
if the number of elements in the sequence is greater than
or equal to the given integer or false
otherwise.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
count | System.Int32 | The minimum number of items a sequence must have for this |
function to return true |
Name | Description |
---|---|
T | Element type of sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null |
System.ArgumentOutOfRangeException |
count is negative |
<![CDATA[
var numbers = new[] { 123, 456, 789 };
var result = numbers.AtLeast(2);
]]>
The result
variable will contain true
.
Determines whether or not the number of elements in the sequence is lesser than or equal to the given integer.
true
if the number of elements in the sequence is lesser than
or equal to the given integer or false
otherwise.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
count | System.Int32 | The maximum number of items a sequence must have for this |
function to return true |
Name | Description |
---|---|
T | Element type of sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null |
System.ArgumentOutOfRangeException |
count is negative |
<![CDATA[
var numbers = new[] { 123, 456, 789 };
var result = numbers.AtMost(2);
]]>
The result
variable will contain false
.
Inserts the elements of a sequence into another sequence at a specified index from the tail of the sequence, where zero always represents the last position, one represents the second-last element, two represents the third-last element and so on.
A sequence that contains the elements of first
plus the elements of second
inserted at
the given index from the end of first
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
second | System.Collections.Generic.IEnumerable{``0} | The sequence that will be inserted. |
index | System.Int32 | The zero-based index from the end of first where |
elements from second should be inserted. |
||
second . |
Name | Description |
---|---|
T | Type of elements in all sequences. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentOutOfRangeException | Thrown if index is negative. |
System.ArgumentOutOfRangeException | Thrown lazily if index is greater than the |
length of first . The validation occurs when |
|
the resulting sequence is iterated. |
This method uses deferred execution and streams its results.
Split the elements of a sequence into chunks of size at most size
.
An IEnumerable`1 that contains the elements the input sequence split into chunks of size size.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 whose elements to chunk. |
size | System.Int32 | The maximum size of each chunk. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
size is below 1. |
Split the elements of a sequence into chunks of size at most size
.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 whose elements to chunk. |
size | System.Int32 | The maximum size of each chunk. |
resultSelector | System.Func{System.Collections.Generic.IReadOnlyList{``0},``1} | A transform function to apply to each chunk. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
TResult | The type of the value return by resultSelector . |
Name | Description |
---|---|
System.ArgumentNullException |
source or resultSelector is |
null. | |
System.ArgumentOutOfRangeException |
size is below 1. |
A chunk can contain fewer elements than size
, specifically the final chunk of source
.
In this overload of Batch
, a single array of length size
is allocated as a buffer for
all subsequences.
This operator uses deferred execution and streams its results.
Split the elements of a sequence into chunks of size at most .Length
.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 whose elements to chunk. |
array | ``0[] | An array to use as a buffer for each chunk. |
resultSelector | System.Func{System.Collections.Generic.IReadOnlyList{``0},``1} | A transform function to apply to each chunk. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
TResult | The type of the value return by resultSelector . |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector , or |
array is null. |
A chunk can contain fewer elements than .Length
, specifically the final chunk of
source
.
In this overload of Batch
, array
is used as a common buffer for all subsequences.
This operator uses deferred execution and streams its results.
Split the elements of a sequence into chunks of size at most size
.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 whose elements to chunk. |
size | ``0[] | The maximum size of each chunk. |
array | System.Int32 | An array to use as a buffer for each chunk. |
resultSelector | System.Func{System.Collections.Generic.IReadOnlyList{``0},``1} | A transform function to apply to each chunk. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
TResult | The type of the value return by resultSelector . |
Name | Description |
---|---|
System.ArgumentNullException |
source , resultSelector , or |
array is null. |
|
System.ArgumentOutOfRangeException |
size is below 1 or above .Length . |
A chunk can contain fewer elements than size
, specifically the final chunk of source
.
In this overload of Batch
, array
is used as a common buffer for all subsequences.
This overload is provided to ease usage of common buffers, such as those rented from ArrayPool`1, which may return an array larger than requested.
This operator uses deferred execution and streams its results.
Selects elements by index from a sequence.
An IEnumerable`1 whose elements are the result of selecting elements according to the indices
sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
indices | System.Collections.Generic.IEnumerable{System.Int32} | The list of indices of elements in the source sequence to select. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
indices is null . |
System.ArgumentOutOfRangeException | An index in indices is out of range for the input sequence source . |
Selects elements by index from a sequence and transforms them using the provided functions.
An IEnumerable`1 whose elements are the result of selecting elements according to the indices
sequence
and invoking the transform function.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
indices | System.Collections.Generic.IEnumerable{System.Int32} | The list of indices of elements in the source sequence to select. |
resultSelector | System.Func{``0,System.Int32,``1} | A transform function to apply to each source element; the second parameter of the function represents the index of the output sequence. |
missingSelector | System.Func{System.Int32,``1} | A transform function to apply to missing source elements; the parameter represents the index of the output sequence. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
TResult | The type of the elements of the resulting sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
indices is null . |
System.ArgumentNullException |
resultSelector is null . |
System.ArgumentNullException |
missingSelector is null . |
This method uses deferred execution and streams its results.
This method has no parameters.
The resulting array may contain null entries and those represent columns for which there is no source member supplying a value.
Returns the Cartesian product of two sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`2 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of two sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Func{``0,``1,``2} | The second sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of three sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`3 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of three sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Func{``0,``1,``2,``3} | The third sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of four sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`4 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of four sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Func{``0,``1,``2,``3,``4} | The fourth sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of five sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`5 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``4} | The fifth sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of five sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``4} | The fourth sequence of elements. |
fifth | System.Func{``0,``1,``2,``3,``4,``5} | The fifth sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of six sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`6 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``4} | The fifth sequence of elements. |
sixth | System.Collections.Generic.IEnumerable{``5} | The sixth sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of six sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``4} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``5} | The fifth sequence of elements. |
sixth | System.Func{``0,``1,``2,``3,``4,``5,``6} | The sixth sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of seven sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`7 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``4} | The fifth sequence of elements. |
sixth | System.Collections.Generic.IEnumerable{``5} | The sixth sequence of elements. |
seventh | System.Collections.Generic.IEnumerable{``6} | The seventh sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
T7 | The type of the elements of seventh . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of seven sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``4} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``5} | The fifth sequence of elements. |
sixth | System.Collections.Generic.IEnumerable{``6} | The sixth sequence of elements. |
seventh | System.Func{``0,``1,``2,``3,``4,``5,``6,``7} | The seventh sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
T7 | The type of the elements of seventh . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of eight sequences by enumerating all possible combinations of one item from each sequence.
A sequence of ValueTuple`8 containing elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``4} | The fifth sequence of elements. |
sixth | System.Collections.Generic.IEnumerable{``5} | The sixth sequence of elements. |
seventh | System.Collections.Generic.IEnumerable{``6} | The seventh sequence of elements. |
eighth | System.Collections.Generic.IEnumerable{``7} | The eighth sequence of elements. |
Name | Description |
---|---|
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
T7 | The type of the elements of seventh . |
T8 | The type of the elements of eighth . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences are cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Returns the Cartesian product of eight sequences by enumerating all possible combinations of one item from each sequence, and applying a user-defined projection to the items in a given combination.
A sequence of elements returned by
resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``4} | The fourth sequence of elements. |
fifth | System.Collections.Generic.IEnumerable{``5} | The fifth sequence of elements. |
sixth | System.Collections.Generic.IEnumerable{``6} | The sixth sequence of elements. |
seventh | System.Collections.Generic.IEnumerable{``7} | The seventh sequence of elements. |
eighth | System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8} | The eighth sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
T1 | The type of the elements of first . |
T2 | The type of the elements of second . |
T3 | The type of the elements of third . |
T4 | The type of the elements of fourth . |
T5 | The type of the elements of fifth . |
T6 | The type of the elements of sixth . |
T7 | The type of the elements of seventh . |
T8 | The type of the elements of eighth . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
The method returns items in the same order as a nested foreach loop, but all sequences cached when iterated over. The cache is then re-used for any subsequent iterations.
This method uses deferred execution and stream its results.
Applies a function to each element of the source sequence and
returns a new sequence of result elements for source elements
where the function returns a couple (2-tuple) having a true
as its first element and result as the second.
A sequence TResult
elements.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
chooser | System.Func{``0,System.ValueTuple{System.Boolean,``1}} | The function that is applied to each source |
element. |
Name | Description |
---|---|
T | The type of the elements in source . |
TResult | The type of the elements in the returned sequence. |
<![CDATA[
var str = "O,l,2,3,4,S,6,7,B,9";
var xs = str.Split(',').Choose(s => (int.TryParse(s, out var n), n));
]]>
The xs
variable will be a sequence of the integers 2, 3, 4,
6, 7 and 9.
This method uses deferred execution semantics and streams its results.
Determines whether two collections are equal by comparing the elements by using the default equality comparer for their type.
true
if the two source sequences are of equal length and their corresponding
elements are equal according to the default equality comparer for their type;
otherwise, false
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to compare to second . |
second | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to compare to the first sequence. |
Name | Description |
---|---|
TSource | The type of the elements of the input sequences. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null. |
System.ArgumentNullException |
second is null. |
This method uses the default equality comparer for TSource
, Default,
determine whether two sequences have the same collection of elements.
A collection may have more than one of the same element, so this method
will compare the value and count of each element between both sequences.
This method executes immediately.
Determines whether two collections are equal by comparing the elements by using a specified IEqualityComparer`1.
true
if the two source sequences are of equal length and their corresponding
elements are equal according to the default equality comparer for their type;
otherwise, false
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to compare to second . |
second | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to compare to the first sequence. |
comparer | System.Collections.Generic.IEqualityComparer{``0} | An IEqualityComparer`1 to use to compare elements. |
Name | Description |
---|---|
TSource | The type of the elements of the input sequences. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null. |
System.ArgumentNullException |
second is null. |
This method uses the provided equality comparer for TSource
to
determine whether two sequences have the same collection of elements.
A collection may have more than one of the same element, so this method
will compare the value and count of each element between both sequences.
If comparer
is null
, the default equality comparer,
Default, is used.
This method executes immediately.
Compares two sequences and returns an integer that indicates whether the first sequence has fewer, the same or more elements than the second sequence.
-1
if the first sequence has the fewest elements, 0
if the two sequences have the same number of elements
or 1
if the first sequence has the most elements.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence |
Name | Description |
---|---|
TFirst | Element type of the first sequence |
TSecond | Element type of the second sequence |
Name | Description |
---|---|
System.ArgumentNullException |
first is null |
System.ArgumentNullException |
second is null |
<![CDATA[
var first = new[] { 123, 456 };
var second = new[] { 789 };
var result = first.CompareCount(second);
]]>
The result
variable will contain 1
.
Completely consumes the given sequence. This method uses immediate execution, and doesn't store any data during execution.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source to consume |
Name | Description |
---|---|
T | Element type of the sequence |
Copies the contents of a sequence into a provided span.
The number of elements actually copied.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
span | System.Span{``0} | The span that is the destination of the elements copied from source . |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentException |
span is not long enough to hold the data from |
sequence. |
All data from source
will be copied to span
if possible. If source
is shorter than span
, then any remaining elements will be untouched. If
source
is longer than span
, then an exception will be thrown.
This operator executes immediately.
Copies the contents of a sequence into a provided span.
The number of elements actually copied.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
array | ``0[] | The span that is the destination of the elements copied from source . |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentException |
array is not long enough to hold the data from |
sequence. |
All data from source
will be copied to array
if possible. If source
is shorter than array
, then any remaining elements will be untouched. If
source
is longer than array
, then an exception will be thrown.
This operator executes immediately.
Copies the contents of a sequence into a provided list.
The number of elements actually copied.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
list | System.Collections.Generic.IList{``0} | The list that is the destination of the elements copied from source . |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
list is null . |
All data from source
will be copied to list
, starting at position 0.
This operator executes immediately.
Copies the contents of a sequence into a provided list.
The number of elements actually copied.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
list | System.Collections.Generic.IList{``0} | The list that is the destination of the elements copied from source . |
index | System.Int32 | The position in list at which to start copying data |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
list is null . |
All data from source
will be copied to list
, starting at position
index
.
This operator executes immediately.
Determines whether or not the number of elements in the sequence is between an inclusive range of minimum and maximum integers.
true
if the number of elements in the sequence is between (inclusive)
the min and max given integers or false
otherwise.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
min | System.Int32 | The minimum number of items a sequence must have for this |
function to return true | ||
max | System.Int32 | The maximum number of items a sequence must have for this |
function to return true |
Name | Description |
---|---|
T | Element type of sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null |
System.ArgumentOutOfRangeException |
min is negative or max is less than min |
<![CDATA[
var numbers = new[] { 123, 456, 789 };
var result = numbers.CountBetween(1, 2);
]]>
The result
variable will contain false
.
Applies a key-generating function to each element of a sequence and returns a sequence of unique keys and their number of occurrences in the original sequence.
A sequence of unique keys and their number of occurrences in the original sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
keySelector | System.Func{``0,``1} | Function that transforms each item of source sequence into a key to be compared against the others. |
Name | Description |
---|---|
TSource | Type of the elements of the source sequence. |
TKey | Type of the projected element. |
Applies a key-generating function to each element of a sequence and returns a sequence of unique keys and their number of occurrences in the original sequence. An additional argument specifies a comparer to use for testing equivalence of keys.
A sequence of unique keys and their number of occurrences in the original sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence. |
keySelector | System.Func{``0,``1} | Function that transforms each item of source sequence into a key to be compared against the others. |
comparer | System.Collections.Generic.IEqualityComparer{``1} | The equality comparer to use to determine whether or not keys are equal. |
If null, the default equality comparer for TSource is used. |
Name | Description |
---|---|
TSource | Type of the elements of the source sequence. |
TKey | Type of the projected element. |
Provides a countdown counter for a given count of elements at the tail of the sequence where zero always represents the last element, one represents the second-last element, two represents the third-last element and so on.
A sequence of tuples of the element and it's count from the end of the sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Count of tail elements of source to count down. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
count is 0 or negative. |
This method uses deferred execution semantics and streams its results. At most, count
elements of the source sequence may be buffered at any one time unless source
is a collection
or a list.
This operator executes immediately.
Provides a countdown counter for a given count of elements at the tail of the sequence where zero always represents the last element, one represents the second-last element, two represents the third-last element and so on.
A sequence of results returned by resultSelector
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Count of tail elements of source to count down. |
resultSelector | System.Func{``0,System.Nullable{System.Int32},``1} | A function that receives the element and the current countdown value for the element and which returns those |
mapped to a result returned in the resulting sequence. For elements before the last count , |
||
the countdown value is null . |
Name | Description |
---|---|
TSource | The type of elements of source
|
TResult | The type of elements of the resulting sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source or resultSelector is null . |
System.ArgumentOutOfRangeException |
count is 0 or negative. |
This method uses deferred execution semantics and streams its results. At most, count
elements of the source sequence may be buffered at any one time unless source
is a collection
or a list.
This operator executes immediately.
Executes a partial sort of the top count
elements of a sequence, including ties, according to
the key for each element. If count
is less than the total number of elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in ascending order of
their keys.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
keySelector | System.Int32 | A function to extract a key from an element. |
count | System.Func{``0,``1} | Number of (maximum) elements to return. |
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a direction
partial sort of the top count
elements of a sequence,
including ties, according to the key for each element. If count
is less than the total number
of elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in the specified order
of their keys.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
keySelector | System.Int32 | A function to extract a key from an element. |
count | System.Func{``0,``1} | Number of (maximum) elements to return. |
direction | SuperLinq.OrderByDirection | The direction in which to sort the elements |
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a partial sort of the top count
elements of a sequence, including ties, according to
the key for each element, using comparer
to compare the keys. If count
is
less than the total number of elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in ascending order of
their keys.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
keySelector | System.Int32 | A function to extract a key from an element. |
count | System.Func{``0,``1} | Number of (maximum) elements to return. |
comparer | System.Collections.Generic.IComparer{``1} | A IComparer`1 to compare elements. |
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a direction
partial sort of the top count
elements of a sequence,
including ties, according to the key for each element, using comparer
to compare the keys. If
count
is less than the total number of elements in source
, then this
method will improve performance.
A sequence containing at most top count
elements from source, in the specified order
of their keys.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
keySelector | System.Int32 | A function to extract a key from an element. |
count | System.Func{``0,``1} | Number of (maximum) elements to return. |
comparer | System.Collections.Generic.IComparer{``1} | A IComparer`1 to compare elements. |
direction | SuperLinq.OrderByDirection | The direction in which to sort the elements |
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a partial sort of the top count
elements of a sequence, including ties. If count
is less than the total number of elements in source
, then this method will
improve performance.
A sequence containing at most top count
elements from source, in their ascending
order.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Number of (maximum) elements to return. |
Name | Description |
---|---|
T | Type of elements in the sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a direction
partial sort of the top count
elements of a sequence,
including ties. If count
is less than the total number of elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in the specified
order.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Number of (maximum) elements to return. |
direction | SuperLinq.OrderByDirection | The direction in which to sort the elements |
Name | Description |
---|---|
T | Type of elements in the sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a partial sort of the top count
elements of a sequence, including ties, using
comparer
to compare elements. If count
is less than the total number of
elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in their ascending
order.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Number of (maximum) elements to return. |
comparer | System.Collections.Generic.IComparer{``0} | A IComparer`1 to compare elements. |
Name | Description |
---|---|
T | Type of elements in the sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Executes a direction
partial sort of the top count
elements of a sequence,
including ties, using comparer
to compare elements. If count
is less than
the total number of elements in source
, then this method will improve performance.
A sequence containing at most top count
elements from source, in the specified
order.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
count | System.Int32 | Number of (maximum) elements to return. |
comparer | System.Collections.Generic.IComparer{``0} | A IComparer`1 to compare elements. |
direction | SuperLinq.OrderByDirection | The direction in which to sort the elements |
Name | Description |
---|---|
T | Type of elements in the sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
count is less than 1. |
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Ranks each item in the sequence in ascending order by a specified key using a default comparer, with no gaps in the ranking values. The rank of a specific item is one plus the number of distinct rank values that come before that specific item.
A sorted sequence of items and their rank.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to rank |
keySelector | System.Func{``0,``1} | A key selector function which returns the value by which to rank items in the sequence |
Name | Description |
---|---|
TSource | The type of the elements in the source sequence |
TKey | The type of the key used to rank items in the sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
Ranks each item in the sequence in ascending order by a specified key using a caller-supplied comparer, with no gaps in the ranking values. The rank of a specific item is one plus the number of distinct rank values that come before that specific item.
A sorted sequence of items and their rank.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to rank |
keySelector | System.Func{``0,``1} | A key selector function which returns the value by which to rank items in the sequence |
comparer | System.Collections.Generic.IComparer{``1} | An object that defines the comparison semantics for keys used to rank items |
Name | Description |
---|---|
TSource | The type of the elements in the source sequence |
TKey | The type of the key used to rank items in the sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
Ranks each item in the sequence in ascending order using a default comparer, with no gaps in the ranking values. The rank of a specific item is one plus the number of distinct rank values that come before that specific item.
A sorted sequence of items and their rank.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence whose items will be ranked |
Name | Description |
---|---|
TSource | Type of item in the sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
Ranks each item in the sequence in ascending order using a caller-supplied comparer, with no gaps in the ranking values. The rank of a specific item is one plus the number of distinct rank values that come before that specific item.
A sorted sequence of items and their rank.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to rank |
comparer | System.Collections.Generic.IComparer{``0} | A object that defines comparison semantics for the elements in the sequence |
Name | Description |
---|---|
TSource | The type of the elements in the source sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
Returns all distinct elements of the given source, where "distinctness" is determined via a projection and the default equality comparer for the projected type.
A sequence consisting of distinct elements from the source sequence, comparing them by the specified key projection.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence |
keySelector | System.Func{``0,``1} | Projection for determining "distinctness" |
Name | Description |
---|---|
TSource | Type of the source sequence |
TKey | Type of the projected element |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
This operator uses deferred execution and streams the results, although a set of already-seen keys is retained. If a key is seen multiple times, only the first element with that key is returned.
Returns all distinct elements of the given source, where "distinctness" is determined via a projection and the specified comparer for the projected type.
A sequence consisting of distinct elements from the source sequence, comparing them by the specified key projection.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | Source sequence |
keySelector | System.Func{``0,``1} | Projection for determining "distinctness" |
comparer | System.Collections.Generic.IEqualityComparer{``1} | The equality comparer to use to determine whether or not keys are equal. |
If null, the default equality comparer for TSource is used. |
Name | Description |
---|---|
TSource | Type of the source sequence |
TKey | Type of the projected element |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
keySelector is null . |
This operator uses deferred execution and streams the results, although a set of already-seen keys is retained. If a key is seen multiple times, only the first element with that key is returned.
Returns the element at a specified index in a sequence or a default value if the index is out of range.
default
if index
is outside the bounds of the source
sequence; otherwise, the element at the specified position in the source
sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to return an element from. |
index | System.Index | The index of the element to retrieve, which is either from the start or the end. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
If the type of source
implements IList`1, that implementation is used to obtain the element at the specified index. Otherwise, this method obtains the specified element.
The default value for reference and nullable types is null
.
Returns the element at a specified index in a sequence.
The element at the specified position in the source
sequence.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | An IEnumerable`1 to return an element from. |
index | System.Index | The index of the element to retrieve, which is either from the start or the end. |
Name | Description |
---|---|
TSource | The type of the elements of source . |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentOutOfRangeException |
index is outside the bounds of the source sequence. |
If the type of source
implements IList`1, that implementation is used to obtain the element at the specified index. Otherwise, this method obtains the specified element.
This method throws an exception if index
is out of range. To instead return a default value when the specified index is out of range, use the ElementAtOrDefault``1 method.
Determines whether the end of the first sequence is equivalent to the second sequence, using the default equality comparer.
true
if first
ends with elements
equivalent to second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The sequence to check. |
second | System.Collections.Generic.IEnumerable{``0} | The sequence to compare to. |
Name | Description |
---|---|
T | Type of elements. |
This is the IEnumerable`1 equivalent of EndsWith and it calls Equals using Default on pairs of elements at the same index.
Determines whether the end of the first sequence is equivalent to the second sequence, using the specified element equality comparer.
true
if first
ends with elements
equivalent to second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The sequence to check. |
second | System.Collections.Generic.IEnumerable{``0} | The sequence to compare to. |
comparer | System.Collections.Generic.IEqualityComparer{``0} | Equality comparer to use. |
Name | Description |
---|---|
T | Type of elements. |
This is the IEnumerable`1 equivalent of EndsWith and it calls Equals on pairs of elements at the same index.
Joins the corresponding elements of second sequences, producing a sequence of tuples containing them.
A sequence of ValueTuple`2 containing corresponding elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
Name | Description |
---|---|
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Applies a specified function to the corresponding elements of second sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Func{``0,``1,``2} | The second sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Joins the corresponding elements of third sequences, producing a sequence of tuples containing them.
A sequence of ValueTuple`3 containing corresponding elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
Name | Description |
---|---|
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
TThird | The type of the elements of third . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Applies a specified function to the corresponding elements of third sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Func{``0,``1,``2,``3} | The third sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
TThird | The type of the elements of third . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Joins the corresponding elements of fourth sequences, producing a sequence of tuples containing them.
A sequence of ValueTuple`4 containing corresponding elements from each of the sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``2} | The third sequence of elements. |
fourth | System.Collections.Generic.IEnumerable{``3} | The fourth sequence of elements. |
Name | Description |
---|---|
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
TThird | The type of the elements of third . |
TFourth | The type of the elements of fourth . |
Name | Description |
---|---|
System.ArgumentNullException | Any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Applies a specified function to the corresponding elements of fourth sequences, producing a sequence of the results.
The resulting sequence has the same length as the input sequences. If the input sequences are of different lengths, an exception is thrown.
A sequence of elements returned by resultSelector
.
Name | Type | Description |
---|---|---|
resultSelector | System.Collections.Generic.IEnumerable{``0} | A projection function that combines |
elements from all of the sequences. | ||
first | System.Collections.Generic.IEnumerable{``1} | The first sequence of elements. |
second | System.Collections.Generic.IEnumerable{``2} | The second sequence of elements. |
third | System.Collections.Generic.IEnumerable{``3} | The third sequence of elements. |
fourth | System.Func{``0,``1,``2,``3,``4} | The fourth sequence of elements. |
Name | Description |
---|---|
TResult | The type of the elements of the result sequence. |
TFirst | The type of the elements of first . |
TSecond | The type of the elements of second . |
TThird | The type of the elements of third . |
TFourth | The type of the elements of fourth . |
Name | Description |
---|---|
System.ArgumentNullException |
resultSelector or any of the input sequences is null. |
System.InvalidOperationException | Any of the input sequences are shorter than the others. |
This method uses deferred execution and stream its results.
Returns a sequence containing the values resulting from invoking (in order) each function in the source sequence of functions.
A sequence with results from invoking functions
.
Name | Type | Description |
---|---|---|
functions | System.Collections.Generic.IEnumerable{System.Func{``0}} | The functions to evaluate. |
Name | Description |
---|---|
T | The type of the object returned by the functions. |
Name | Description |
---|---|
System.ArgumentNullException | When functions is null . |
This operator uses deferred execution and streams the results. If the resulting sequence is enumerated multiple times, the functions will be evaluated multiple times too.
Determines whether or not the number of elements in the sequence is equals to the given integer.
true
if the number of elements in the sequence is equals
to the given integer or false
otherwise.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence |
count | System.Int32 | The exactly number of items a sequence must have for this |
function to return true |
Name | Description |
---|---|
T | Element type of sequence |
Name | Description |
---|---|
System.ArgumentNullException |
source is null |
System.ArgumentOutOfRangeException |
count is negative |
<![CDATA[
var numbers = new[] { 123, 456, 789 };
var result = numbers.Exactly(3);
]]>
The result
variable will contain true
.
Returns the set of elements in the first sequence which aren't in the second sequence, according to a given key selector.
A sequence of elements from first
whose key was not also a key for
any element in second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The sequence of potentially included elements. |
second | System.Collections.Generic.IEnumerable{``0} | The sequence of elements whose keys may prevent elements in |
first from being returned. |
||
keySelector | System.Func{``0,``1} | The mapping from source element to key. |
Name | Description |
---|---|
TSource | The type of the elements in the input sequences. |
TKey | The type of the key returned by keySelector . |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
keySelector is null . |
This is a set operation; if multiple elements in first
have
equal keys, only the first such element is returned.
This operator uses deferred execution and streams the results, although
a set of keys from second
is immediately selected and retained.
Returns the set of elements in the first sequence which aren't in the second sequence, according to a given key selector.
A sequence of elements from first
whose key was not also a key for
any element in second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The sequence of potentially included elements. |
second | System.Collections.Generic.IEnumerable{``0} | The sequence of elements whose keys may prevent elements in |
first from being returned. |
||
keySelector | System.Func{``0,``1} | The mapping from source element to key. |
keyComparer | System.Collections.Generic.IEqualityComparer{``1} | The equality comparer to use to determine whether or not keys are equal. |
If null, the default equality comparer for TSource is used. |
Name | Description |
---|---|
TSource | The type of the elements in the input sequences. |
TKey | The type of the key returned by keySelector . |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentNullException |
keyComparer is null . |
This is a set operation; if multiple elements in first
have
equal keys, only the first such element is returned.
This operator uses deferred execution and streams the results, although
a set of keys from second
is immediately selected and retained.
Excludes a contiguous number of elements from a sequence starting at a given index.
A sequence that excludes the specified portion of elements
Name | Type | Description |
---|---|---|
sequence | System.Collections.Generic.IEnumerable{``0} | The sequence to exclude elements from |
startIndex | System.Int32 | The zero-based index at which to begin excluding elements |
count | System.Int32 | The number of elements to exclude |
Name | Description |
---|---|
T | The type of the elements of the sequence |
Name | Description |
---|---|
System.ArgumentNullException |
sequence is null. |
System.ArgumentOutOfRangeException |
startIndex or count is less than 0 . |
Returns the elements of a sequence, but if it is empty then returns an alternate sequence from an array of values.
An IEnumerable`1 that containing fallback values
if source
is empty; otherwise, source
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
fallback | ``0[] | The array that is returned as the alternate |
sequence if source is empty. |
Name | Description |
---|---|
T | The type of the elements in the sequences. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
fallback is null . |
Returns the elements of a sequence, but if it is empty then returns an alternate sequence of values.
An IEnumerable`1 that containing fallback values
if source
is empty; otherwise, source
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
fallback | System.Collections.Generic.IEnumerable{``0} | The alternate sequence that is returned |
if source is empty. |
Name | Description |
---|---|
T | The type of the elements in the sequences. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
fallback is null . |
Returns a sequence with each null reference or value in the source replaced with the following non-null reference or value in that sequence.
An IEnumerable`1 with null references or values replaced.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If references or values are null at the end of the sequence then they remain null.
Returns a sequence with each missing element in the source replaced with the following non-missing element in that sequence. An additional parameter specifies a function used to determine if an element is considered missing or not.
An IEnumerable`1 with missing values replaced.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The function used to determine if |
an element in the sequence is considered missing. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If elements are missing at the end of the sequence then they remain missing.
Returns a sequence with each missing element in the source replaced with the following non-missing element in that sequence. Additional parameters specify two functions, one used to determine if an element is considered missing or not and another to provide the replacement for the missing element.
An IEnumerable`1 with missing elements filled.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The function used to determine if |
an element in the sequence is considered missing. | ||
fillSelector | System.Func{``0,``0,``0} | The function used to produce the element |
that will replace the missing one. Its first argument receives the | ||
current element considered missing while the second argument | ||
receives the next non-missing element. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If elements are missing at the end of the sequence then they remain missing.
Returns a sequence with each null reference or value in the source replaced with the previous non-null reference or value seen in that sequence.
An IEnumerable`1 with null references or values replaced.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If references or values are null at the start of the sequence then they remain null.
Returns a sequence with each missing element in the source replaced with the previous non-missing element seen in that sequence. An additional parameter specifies a function used to determine if an element is considered missing or not.
An IEnumerable`1 with missing values replaced.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The function used to determine if |
an element in the sequence is considered missing. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If elements are missing at the start of the sequence then they remain missing.
Returns a sequence with each missing element in the source replaced with one based on the previous non-missing element seen in that sequence. Additional parameters specify two functions, one used to determine if an element is considered missing or not and another to provide the replacement for the missing element.
An IEnumerable`1 with missing values replaced.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The function used to determine if |
an element in the sequence is considered missing. | ||
fillSelector | System.Func{``0,``0,``0} | The function used to produce the element |
that will replace the missing one. Its first argument receives the | ||
current element considered missing while the second argument | ||
receives the previous non-missing element. |
Name | Description |
---|---|
T | Type of the elements in the source sequence. |
This method uses deferred execution semantics and streams its results. If elements are missing at the start of the sequence then they remain missing.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the first occurrence within the entire IEnumerable`1.
The zero-based index of the first occurrence of an element that matches the conditions defined by predicate
within the entire IEnumerable`1, if found; otherwise, -1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. |
The IEnumerable`1 is searched forward starting at the first element and ending at the last element.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the first occurrence within the range of elements in the IEnumerable`1 that extends from the specified index to the last element.
The zero-based index of the first occurrence of an element that matches the conditions defined by predicate
within the the range of elements in the IEnumerable`1 that extends from
index
to the last element, if found; otherwise, -1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
index | System.Index | The Index of the starting element within the sequence. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. |
The IEnumerable`1 is searched forward starting at index
and ending at the last
element.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the first occurrence within the range of elements in the IEnumerable`1 that starts at the specified index to the last element and contains the specified number of elements.
The zero-based index of the first occurrence of an element that matches the conditions defined by predicate
within the the range of elements in the IEnumerable`1 that that starts at
index
and contains count
number of elements, if found; otherwise,
-1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
index | System.Index | The Index of the starting element within the sequence. |
count | System.Int32 | The number of elements in the section to search. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. | |
System.ArgumentOutOfRangeException |
count is less than 0 . |
The IEnumerable`1 is searched forward starting at index
and ending at
index
plus count
minus 1
, if count is greater than 0
.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the last occurrence within the entire IEnumerable`1.
The zero-based index of the last occurrence of an element that matches the conditions defined by predicate
within the entire IEnumerable`1, if found; otherwise, -1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. |
The IEnumerable`1 is searched forward starting at the first element and ending at the last
element, and the index of the last instance of an element that matches the conditions defined by predicate
is returned.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the last occurrence within the range of elements in the IEnumerable`1 that extends backwards from the specified index to the first element.
The zero-based index of the last occurrence of an element that matches the conditions defined by predicate
within the the range of elements in the IEnumerable`1 that extends backwards
from index
to the first element, if found; otherwise, -1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
index | System.Index | The Index of the ending element within the sequence. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. |
The IEnumerable`1 is searched forward starting at the first element and ending at index
, and the index of the last instance of an element that matches the conditions defined by
predicate
is returned.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Searches for an element that matches the conditions defined by the specified predicate and returns the zero-based index of the last occurrence within the range of elements in the IEnumerable`1 that ends at the specified index to the last element and contains the specified number of elements.
The zero-based index of the last occurrence of an element that matches the conditions defined by predicate
within the the range of elements in the IEnumerable`1 that that ends at
index
and contains count
number of elements, if found; otherwise,
-1
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The source sequence. |
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
index | System.Index | The Index of the ending element within the sequence. |
count | System.Int32 | The number of elements in the section to search. |
Name | Description |
---|---|
TSource | The type of elements of source
|
Name | Description |
---|---|
System.ArgumentNullException |
source or predicate is |
null. | |
System.ArgumentOutOfRangeException |
count is less than 0 . |
The IEnumerable`1 is searched forward starting at the first element and ending at index
, and the index of the last instance of an element that matches the conditions defined by
predicate
no earlier in the sequence than count
items before index
is returned.
The predicate
is a delegate to a method that returns true
if the object
passed to it matches the conditions defined in the delegate. The elements of the current IEnumerable`1 are individually passed to the predicate
delegate.
This operator executes immediately.
Flattens a sequence containing arbitrarily-nested sequences.
A sequence that contains the elements of source
and all nested sequences (except strings).
Name | Type | Description |
---|---|---|
source | System.Collections.IEnumerable | The sequence that will be flattened. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a predicate function used to determine whether a nested IEnumerable should be flattened or not.
A sequence that contains the elements of source
and all nested sequences for which the predicate function
returned true
.
Name | Type | Description |
---|---|---|
source | System.Collections.IEnumerable | The sequence that will be flattened. |
predicate | System.Func{System.Collections.IEnumerable,System.Boolean} | A function that receives each element that implements |
IEnumerable and indicates if its elements should be | ||
recursively flattened into the resulting sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
predicate is null . |
Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a function that projects an inner sequence via a property of an object.
A sequence that contains the elements of source
and all nested sequences projected via the
selector
function.
Name | Type | Description |
---|---|---|
source | System.Collections.IEnumerable | The sequence that will be flattened. |
selector | System.Func{System.Object,System.Collections.IEnumerable} | A function that receives each element of the sequence as an object |
and projects an inner sequence to be flattened. If the function | ||
returns null then the object argument is considered a leaf |
||
of the flattening process. |
Name | Description |
---|---|
System.ArgumentNullException |
source is null . |
System.ArgumentNullException |
selector is null . |
Returns the result of applying a function to a sequence of 1 element.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 1 element. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 2 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 2 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 3 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 3 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 4 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 4 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 5 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 5 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 6 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 6 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 7 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 7 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 8 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 8 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 9 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 9 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 10 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 10 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 11 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 11 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 12 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 12 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 13 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 13 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 14 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 14 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 15 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 15 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns the result of applying a function to a sequence of 16 elements.
The folded value returned by folder
.
Name | Type | Description |
---|---|---|
source | System.Collections.Generic.IEnumerable{``0} | The sequence of items to fold. |
folder | System.Func{``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``0,``1} | Function to apply to the elements in the sequence. |
Name | Description |
---|---|
T | Type of element in the source sequence |
TResult | Type of the result |
Name | Description |
---|---|
System.ArgumentNullException |
source or folder is null. |
System.InvalidOperationException |
source does not contain exactly 16 elements. |
This operator uses immediate execution and buffers as many items of the source sequence as necessary.
Returns a single-element sequence containing the result of invoking the function.
A sequence with the value resulting from invoking function
.
Name | Type | Description |
---|---|---|
function | System.Func{``0} | The function to evaluate. |
Name | Description |
---|---|
T | The type of the object returned by the function. |
This operator uses deferred execution and streams the results. If the resulting sequence is enumerated multiple times, the function will be invoked multiple times too.
Returns a sequence containing the result of invoking each parameter function in order.
A sequence with the values resulting from invoking function1
and function2
.
Name | Type | Description |
---|---|---|
function1 | System.Func{``0} | The first function to evaluate. |
function2 | System.Func{``0} | The second function to evaluate. |
Name | Description |
---|---|
T | The type of the object returned by the functions. |
This operator uses deferred execution and streams the results. If the resulting sequence is enumerated multiple times, the functions will be invoked multiple times too.
Returns a sequence containing the result of invoking each parameter function in order.
A sequence with the values resulting from invoking function1
, function2
and function3
.
Name | Type | Description |
---|---|---|
function1 | System.Func{``0} | The first function to evaluate. |
function2 | System.Func{``0} | The second function to evaluate. |
function3 | System.Func{``0} | The third function to evaluate. |
Name | Description |
---|---|
T | The type of the object returned by the functions. |
This operator uses deferred execution and streams the results. If the resulting sequence is enumerated multiple times, the functions will be invoked multiple times too.
Returns a sequence containing the values resulting from invoking (in order) each function in the source sequence of functions.
A sequence with the values resulting from invoking all of the functions
.
Name | Type | Description |
---|---|---|
functions | System.Func{``0}[] | The functions to evaluate. |
Name | Description |
---|---|
T | The type of the object returned by the functions. |
Name | Description |
---|---|
System.ArgumentNullException | When functions is null . |
This operator uses deferred execution and streams the results. If the resulting sequence is enumerated multiple times, the functions will be invoked multiple times too.
Performs a Full Group Join between the first
and second
sequences.
A sequence of elements joined from first
and second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | First sequence |
second | System.Collections.Generic.IEnumerable{``1} | Second sequence |
firstKeySelector | System.Func{``0,``2} | The mapping from first sequence to key |
secondKeySelector | System.Func{``1,``2} | The mapping from second sequence to key |
Name | Description |
---|---|
TFirst | The type of the elements in the first input sequence |
TSecond | The type of the elements in the second input sequence |
TKey | The type of the key to use to join |
This operator uses deferred execution and streams the results. The results are yielded in the order of the elements found in the first sequence followed by those found only in the second. In addition, the callback responsible for projecting the results is supplied with sequences which preserve their source order.
Performs a Full Group Join between the first
and second
sequences.
A sequence of elements joined from first
and second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | First sequence |
second | System.Collections.Generic.IEnumerable{``1} | Second sequence |
firstKeySelector | System.Func{``0,``2} | The mapping from first sequence to key |
secondKeySelector | System.Func{``1,``2} | The mapping from second sequence to key |
comparer | System.Collections.Generic.IEqualityComparer{``2} | The equality comparer to use to determine whether or not keys are equal. |
If null, the default equality comparer for TKey is used. |
Name | Description |
---|---|
TFirst | The type of the elements in the first input sequence |
TSecond | The type of the elements in the second input sequence |
TKey | The type of the key to use to join |
This operator uses deferred execution and streams the results. The results are yielded in the order of the elements found in the first sequence followed by those found only in the second. In addition, the callback responsible for projecting the results is supplied with sequences which preserve their source order.
Performs a full group-join between two sequences.
A sequence of elements joined from first
and second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | First sequence |
second | System.Collections.Generic.IEnumerable{``1} | Second sequence |
firstKeySelector | System.Func{``0,``2} | The mapping from first sequence to key |
secondKeySelector | System.Func{``1,``2} | The mapping from second sequence to key |
resultSelector | System.Func{``2,System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},``3} | Function to apply to each pair of elements plus the key |
Name | Description |
---|---|
TFirst | The type of the elements in the first input sequence |
TSecond | The type of the elements in the second input sequence |
TKey | The type of the key to use to join |
TResult | The type of the elements of the resulting sequence |
This operator uses deferred execution and streams the results. The results are yielded in the order of the elements found in the first sequence followed by those found only in the second. In addition, the callback responsible for projecting the results is supplied with sequences which preserve their source order.
Performs a full group-join between two sequences.
A sequence of elements joined from first
and second
.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | First sequence |
second | System.Collections.Generic.IEnumerable{``1} | Second sequence |
firstKeySelector | System.Func{``0,``2} | The mapping from first sequence to key |
secondKeySelector | System.Func{``1,``2} | The mapping from second sequence to key |
resultSelector | System.Func{``2,System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},``3} | Function to apply to each pair of elements plus the key |
comparer | System.Collections.Generic.IEqualityComparer{``2} | The equality comparer to use to determine whether or not keys are equal. |
If null, the default equality comparer for TKey is used. |
Name | Description |
---|---|
TFirst | The type of the elements in the first input sequence |
TSecond | The type of the elements in the second input sequence |
TKey | The type of the key to use to join |
TResult | The type of the elements of the resulting sequence |
This operator uses deferred execution and streams the results. The results are yielded in the order of the elements found in the first sequence followed by those found only in the second. In addition, the callback responsible for projecting the results is supplied with sequences which preserve their source order.
Performs a full outer join on two homogeneous sequences. Additional arguments specify key selection functions and result projection functions.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
second | System.Collections.Generic.IEnumerable{``0} | The second sequence. |
keySelector | System.Func{``0,``1} | Function that projects the key given an element of one of the sequences to join. |
firstSelector | System.Func{``0,``2} | Function that projects the result given just an element from |
first where there is no corresponding element |
||
in second . |
||
secondSelector | System.Func{``0,``2} | Function that projects the result given just an element from |
second where there is no corresponding element |
||
in first . |
||
bothSelector | System.Func{``0,``0,``2} | Function that projects the result given an element from |
first and an element from second
|
||
that match on a common key. |
Name | Description |
---|---|
TSource | The type of elements in the source sequence. |
TKey | The type of the key returned by the key selector function. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentNullException |
firstSelector is null . |
System.ArgumentNullException |
secondSelector is null . |
System.ArgumentNullException |
bothSelector is null . |
This method uses deferred execution and streams its results.
Performs a full outer join on two homogeneous sequences. Additional arguments specify key selection functions, result projection functions and a key comparer.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
second | System.Collections.Generic.IEnumerable{``0} | The second sequence. |
keySelector | System.Func{``0,``1} | Function that projects the key given an element of one of the sequences to join. |
firstSelector | System.Func{``0,``2} | Function that projects the result given just an element from |
first where there is no corresponding element |
||
in second . |
||
secondSelector | System.Func{``0,``2} | Function that projects the result given just an element from |
second where there is no corresponding element |
||
in first . |
||
bothSelector | System.Func{``0,``0,``2} | Function that projects the result given an element from |
first and an element from second
|
||
that match on a common key. | ||
comparer | System.Collections.Generic.IEqualityComparer{``1} | The IEqualityComparer`1 instance used to compare |
keys for equality. |
Name | Description |
---|---|
TSource | The type of elements in the source sequence. |
TKey | The type of the key returned by the key selector function. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
keySelector is null . |
System.ArgumentNullException |
firstSelector is null . |
System.ArgumentNullException |
secondSelector is null . |
System.ArgumentNullException |
bothSelector is null . |
This method uses deferred execution and streams its results.
FullJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector) method
Performs a full outer join on two heterogeneous sequences. Additional arguments specify key selection functions and result projection functions.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
firstKeySelector | System.Func{``0,``2} | Function that projects the key given an element from first . |
secondKeySelector | System.Func{``1,``2} | Function that projects the key given an element from second . |
firstSelector | System.Func{``0,``3} | Function that projects the result given just an element from |
first where there is no corresponding element |
||
in second . |
||
secondSelector | System.Func{``1,``3} | Function that projects the result given just an element from |
second where there is no corresponding element |
||
in first . |
||
bothSelector | System.Func{``0,``1,``3} | Function that projects the result given an element from |
first and an element from second
|
||
that match on a common key. |
Name | Description |
---|---|
TFirst | The type of elements in the first sequence. |
TSecond | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
firstKeySelector is null . |
System.ArgumentNullException |
secondKeySelector is null . |
System.ArgumentNullException |
firstSelector is null . |
System.ArgumentNullException |
secondSelector is null . |
System.ArgumentNullException |
bothSelector is null . |
This method uses deferred execution and streams its results.
FullJoin``4(first,second,firstKeySelector,secondKeySelector,firstSelector,secondSelector,bothSelector,comparer) method
Performs a full outer join on two heterogeneous sequences. Additional arguments specify key selection functions, result projection functions and a key comparer.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
first | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
second | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
firstKeySelector | System.Func{``0,``2} | Function that projects the key given an element from first . |
secondKeySelector | System.Func{``1,``2} | Function that projects the key given an element from second . |
firstSelector | System.Func{``0,``3} | Function that projects the result given just an element from |
first where there is no corresponding element |
||
in second . |
||
secondSelector | System.Func{``1,``3} | Function that projects the result given just an element from |
second where there is no corresponding element |
||
in first . |
||
bothSelector | System.Func{``0,``1,``3} | Function that projects the result given an element from |
first and an element from second
|
||
that match on a common key. | ||
comparer | System.Collections.Generic.IEqualityComparer{``2} | The IEqualityComparer`1 instance used to compare |
keys for equality. |
Name | Description |
---|---|
TFirst | The type of elements in the first sequence. |
TSecond | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
first is null . |
System.ArgumentNullException |
second is null . |
System.ArgumentNullException |
firstKeySelector is null . |
System.ArgumentNullException |
secondKeySelector is null . |
System.ArgumentNullException |
firstSelector is null . |
System.ArgumentNullException |
secondSelector is null . |
System.ArgumentNullException |
bothSelector is null . |
This method uses deferred execution and streams its results.
Performs a full outer join on two heterogeneous sequences,
returning a ValueTuple`2 containing
the elements from left
and right
,
if present, and null
otherwise.
Additional arguments specify key selection functions.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
left | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
right | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
joinType | SuperLinq.JoinType | A value indicating which type of join to use. |
leftKeySelector | System.Func{``0,``2} | Function that projects the key given an element from left . |
rightKeySelector | System.Func{``1,``2} | Function that projects the key given an element from right . |
Name | Description |
---|---|
TLeft | The type of elements in the first sequence. |
TRight | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
Name | Description |
---|---|
System.ArgumentNullException |
left is null . |
System.ArgumentNullException |
right is null . |
System.ArgumentNullException |
leftKeySelector is null . |
System.ArgumentNullException |
rightKeySelector is null . |
System.ArgumentException |
joinType is Loop. |
This method uses deferred execution and streams its results.
Performs a full outer join on two heterogeneous sequences,
returning a ValueTuple`2 containing
the elements from left
and right
,
if present, and null
otherwise.
Additional arguments specify key selection functions and a key comparer.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
left | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
right | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
joinType | SuperLinq.JoinType | A value indicating which type of join to use. |
leftKeySelector | System.Func{``0,``2} | Function that projects the key given an element from left . |
rightKeySelector | System.Func{``1,``2} | Function that projects the key given an element from right . |
comparer | ``3 | The comparer implementing types IEqualityComparer`1 and |
IComparer`1 used to compare keys. |
Name | Description |
---|---|
TLeft | The type of elements in the first sequence. |
TRight | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
TComparer | The type of the comparer used to compare keys. |
Name | Description |
---|---|
System.ArgumentNullException |
left is null . |
System.ArgumentNullException |
right is null . |
System.ArgumentNullException |
leftKeySelector is null . |
System.ArgumentNullException |
rightKeySelector is null . |
System.ArgumentException |
joinType is Loop. |
This method uses deferred execution and streams its results.
FullOuterJoin``4(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,rightResultSelector,bothResultSelector) method
Performs a full outer join on two heterogeneous sequences using
the default comparer for TKey
.
Additional arguments specify key selection and result
projection functions.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
left | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
right | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
joinType | SuperLinq.JoinType | A value indicating which type of join to use. |
leftKeySelector | System.Func{``0,``2} | Function that projects the key given an element from left . |
rightKeySelector | System.Func{``1,``2} | Function that projects the key given an element from right . |
leftResultSelector | System.Func{``0,``3} | Function that projects the result given just an element from |
left where there is no corresponding element |
||
in right . |
||
rightResultSelector | System.Func{``1,``3} | Function that projects the result given just an element from |
right where there is no corresponding element |
||
in left . |
||
bothResultSelector | System.Func{``0,``1,``3} | Function that projects the result given an element from |
left and an element from right
|
||
that match on a common key. |
Name | Description |
---|---|
TLeft | The type of elements in the first sequence. |
TRight | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
left is null . |
System.ArgumentNullException |
right is null . |
System.ArgumentNullException |
leftKeySelector is null . |
System.ArgumentNullException |
rightKeySelector is null . |
System.ArgumentNullException |
leftResultSelector is null . |
System.ArgumentNullException |
rightResultSelector is null . |
System.ArgumentNullException |
bothResultSelector is null . |
System.ArgumentException |
joinType is Loop. |
This method uses deferred execution and streams its results.
FullOuterJoin``5(left,right,joinType,leftKeySelector,rightKeySelector,leftResultSelector,rightResultSelector,bothResultSelector,comparer) method
Performs a full outer join on two heterogeneous sequences. Additional arguments specify key selection functions, result projection functions and a key comparer.
A sequence containing results projected from a full outer join of the two input sequences.
Name | Type | Description |
---|---|---|
left | System.Collections.Generic.IEnumerable{``0} | The first sequence. |
right | System.Collections.Generic.IEnumerable{``1} | The second sequence. |
joinType | SuperLinq.JoinType | A value indicating which type of join to use. |
leftKeySelector | System.Func{``0,``2} | Function that projects the key given an element from left . |
rightKeySelector | System.Func{``1,``2} | Function that projects the key given an element from right . |
leftResultSelector | System.Func{``0,``4} | Function that projects the result given just an element from |
left where there is no corresponding element |
||
in right . |
||
rightResultSelector | System.Func{``1,``4} | Function that projects the result given just an element from |
right where there is no corresponding element |
||
in left . |
||
bothResultSelector | System.Func{``0,``1,``4} | Function that projects the result given an element from |
left and an element from right
|
||
that match on a common key. | ||
comparer | ``3 | The comparer implementing types IEqualityComparer`1 and |
IComparer`1 used to compare keys. |
Name | Description |
---|---|
TLeft | The type of elements in the first sequence. |
TRight | The type of elements in the second sequence. |
TKey | The type of the key returned by the key selector functions. |
TComparer | The type of the comparer used to compare keys. |
TResult | The type of the result elements. |
Name | Description |
---|---|
System.ArgumentNullException |
left is null . |
System.ArgumentNullException |
right is null . |
System.ArgumentNullException |
leftKeySelector is null . |
System.ArgumentNullException |
rightKeySelector is null . |
System.ArgumentNullException |
leftResultSelector is null . |
System.ArgumentNullException |
rightResultSelector is null . |
System.ArgumentNullException |
bothResultSelector is null . |
System.ArgumentException |
joinType is Loop. |
This method uses deferred execution and streams its results.
Returns a sequence of values based on indexes.
A sequence of generated results.
Name | Type | Description |
---|---|---|
generator | System.Func{System.Int32,``0} | Generation function to apply to each index. |
Name | Description |
---|---|
TResult | The type of the value returned by generator
|
and therefore the elements of the generated sequence. |
Name | Description |
---|---|
System.ArgumentNullException |
generator is null . |
The sequence is (practically) infinite where the index ranges from zero to MaxValue inclusive.
This function defers execution and streams the results.
Returns a sequence of values consecutively generated by a generator function.
A sequence containing the generated values.
Name | Type | Description |
---|---|---|
initial | ``0 | Value of first element in sequence |
generator | System.Func{``0,``0} | Generator function which takes the previous series element and uses it to generate the next element. |
Name | Description |
---|---|
TResult | Type of elements to generate. |
Name | Description |
---|---|
System.ArgumentNullException |
generator is null . |
<![CDATA[
var result = SuperEnumerable.Generate(2, n => n * n).Take(5);
]]>
The result
variable, when iterated over, will yield 2, 4, 16, 256, and 65536, in turn.
This function defers element generation until needed and streams the results.
Calculate the cost of the shortest path from
state start
to state end
,
using Dijkstra's algorithm.
The traversal cost of the shortest path from start
to end
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1}}} | A function that returns the neighbors for a given state |
and the total cost to get to that state based on the | ||
traversal cost at the current state. | ||
end | ``0 | The target state |
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no path to end is found. |
This method uses Dijkstra's algorithm to explore a map
and find the shortest path from start
to end
. An UpdatablePriorityQueue`2
is used to manage the list of TState
s
to process, to reduce the computation cost of this operator.
Loops and cycles are automatically detected and handled
correctly by this operator; only the cheapest path to
a given TState
is used, and other
paths (including loops) are discarded.
Dijkstra's algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This method uses Default
to compare TState
s and
Default to compare traversal
TCost
s.
This operator executes immediately.
Calculate the cost of the shortest path from
state start
to state end
,
using Dijkstra's algorithm.
The traversal cost of the shortest path from start
to end
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1}}} | A function that returns the neighbors for a given state |
and the total cost to get to that state based on the | ||
traversal cost at the current state. | ||
end | ``0 | The target state |
stateComparer | System.Collections.Generic.IEqualityComparer{``0} | A custom equality comparer for TState
|
costComparer | System.Collections.Generic.IComparer{``1} | A custom comparer for TCost
|
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no path to end is found. |
This method uses Dijkstra's algorithm to explore a map
and find the shortest path from start
to end
. An UpdatablePriorityQueue`2
is used to manage the list of TState
s
to process, to reduce the computation cost of this operator.
Loops and cycles are automatically detected and handled
correctly by this operator; only the cheapest path to
a given TState
is used, and other
paths (including loops) are discarded.
Dijkstra's algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This operator executes immediately.
Calculate the cost of the shortest path from state start
to a state that satisfies the
conditions expressed by predicate
, using Dijkstra's algorithm.
The traversal cost of the shortest path from start
to a state that satisfies the conditions
expressed by predicate
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1}}} | A function that returns the neighbors for a given state and the total cost to get to that state based on the |
traversal cost at the current state. | ||
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no state that satisfies the |
conditions expressed by predicate is found. |
This method uses Dijkstra's algorithm to explore a map and find the shortest path from start
to a state that satisfies the conditions expressed by predicate
. An UpdatablePriorityQueue`2 is used to manage the list of TState
s to process, to reduce the computation cost of this operator.
Loops and cycles are automatically detected and handled correctly by this operator; only the cheapest path to a
given TState
is used, and other paths (including loops) are discarded.
Dijkstra's algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This method uses Default to compare TState
s and Default to compare traversal
TCost
s.
This operator executes immediately.
Calculate the cost of the shortest path from state start
to a state that satisfies the
conditions expressed by predicate
, using Dijkstra's algorithm.
The traversal cost of the shortest path from start
to a state that satisfies the conditions
expressed by predicate
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1}}} | A function that returns the neighbors for a given state and the total cost to get to that state based on the |
traversal cost at the current state. | ||
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
stateComparer | System.Collections.Generic.IEqualityComparer{``0} | A custom equality comparer for TState
|
costComparer | System.Collections.Generic.IComparer{``1} | A custom comparer for TCost
|
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no state that satisfies the |
conditions expressed by predicate is found. |
This method uses Dijkstra's algorithm to explore a map and find the shortest path from start
to a state that satisfies the conditions expressed by predicate
. An UpdatablePriorityQueue`2 is used to manage the list of TState
s to process, to reduce the computation cost of this operator.
Loops and cycles are automatically detected and handled correctly by this operator; only the cheapest path to a
given TState
is used, and other paths (including loops) are discarded.
Dijkstra's algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This operator executes immediately.
Calculate the cost of the shortest path from
state start
to state end
,
using the A* algorithm.
The traversal cost of the shortest path from start
to end
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1,``1}}} | A function that returns the neighbors for a given state; |
the total cost to get to that state based on the | ||
traversal cost at the current state; and the predicted | ||
or best-guess total (already traversed plus remaining) | ||
cost to get to end . |
||
end | ``0 | The target state |
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no path to end is found. |
This method uses the A* algorithm to explore a map
and find the shortest path from start
to end
. An UpdatablePriorityQueue`2
is used to manage the list of TState
s
to process, to reduce the computation cost of this operator.
Overall performance of this method will depend on the reliability
of the best-guess cost provided by getNeighbors
.
Loops and cycles are automatically detected and handled
correctly by this operator; only the cheapest path to
a given TState
is used, and other
paths (including loops) are discarded.
The A* algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This method uses Default
to compare TState
s and
Default to compare traversal
TCost
s.
This operator executes immediately.
Calculate the cost of the shortest path from
state start
to state end
,
using the A* algorithm.
The traversal cost of the shortest path from start
to end
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1,``1}}} | A function that returns the neighbors for a given state; |
the total cost to get to that state based on the | ||
traversal cost at the current state; and the predicted | ||
or best-guess total (already traversed plus remaining) | ||
cost to get to end . |
||
end | ``0 | The target state |
stateComparer | System.Collections.Generic.IEqualityComparer{``0} | A custom equality comparer for TState
|
costComparer | System.Collections.Generic.IComparer{``1} | A custom comparer for TCost
|
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no path to end is found. |
This method uses the A* algorithm to explore a map
and find the shortest path from start
to end
. An UpdatablePriorityQueue`2
is used to manage the list of TState
s
to process, to reduce the computation cost of this operator.
Overall performance of this method will depend on the reliability
of the best-guess cost provided by getNeighbors
.
Loops and cycles are automatically detected and handled
correctly by this operator; only the cheapest path to
a given TState
is used, and other
paths (including loops) are discarded.
The A* algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This operator executes immediately.
Calculate the cost of the shortest path from state start
to a state that satisfies the
conditions expressed by predicate
, using the A* algorithm.
The traversal cost of the shortest path from start
to a state that satisfies the conditions
expressed by predicate
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1,``1}}} | A function that returns the neighbors for a given state; the total cost to get to that state based on the |
traversal cost at the current state; and the predicted or best-guess total (already traversed plus remaining) | ||
cost to get to a state that satisfies the conditions expressed by predicate . |
||
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |
Name | Description |
---|---|
System.ArgumentNullException |
getNeighbors is null . |
System.InvalidOperationException | The map is entirely explored and no state that satisfies the |
conditions expressed by predicate is found. |
This method uses the A* algorithm to explore a map and find the shortest path from start
to
a state that satisfies the conditions expressed by predicate
. An UpdatablePriorityQueue`2 is used to manage the list of TState
s to process, to reduce the computation cost of this operator. Overall performance of this
method will depend on the reliability of the best-guess cost provided by getNeighbors
.
Loops and cycles are automatically detected and handled correctly by this operator; only the cheapest path to a
given TState
is used, and other paths (including loops) are discarded.
The A* algorithm assumes that all costs are positive, that is to say, that it is not possible to go a negative distance from one state to the next. Violating this assumption will have undefined behavior.
This method will operate on an infinite map, however, performance will depend on how many states are required to be evaluated before reaching the target point.
This method uses Default to compare TState
s and Default to compare traversal
TCost
s.
This operator executes immediately.
Calculate the cost of the shortest path from state start
to a state that satisfies the
conditions expressed by predicate
, using the A* algorithm.
The traversal cost of the shortest path from start
to a state that satisfies the conditions
expressed by predicate
.
Name | Type | Description |
---|---|---|
start | ``0 | The starting state |
getNeighbors | System.Func{``0,``1,System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1,``1}}} | A function that returns the neighbors for a given state; the total cost to get to that state based on the |
traversal cost at the current state; and the predicted or best-guess total (already traversed plus remaining) | ||
cost to get to a state that satisfies the conditions expressed by predicate . |
||
predicate | System.Func{``0,System.Boolean} | The predicate that defines the conditions of the element to search for. |
stateComparer | System.Collections.Generic.IEqualityComparer{``0} | A custom equality comparer for TState
|
costComparer | System.Collections.Generic.IComparer{``1} | A custom comparer for TCost
|
Name | Description |
---|---|
TState | The type of each state in the map |
TCost | The type of the cost to traverse between states |