Tango
  • Introduction
  • Getting Started
    • Summary
    • From me, the Developer
    • What is Tango?
    • Where to start?
  • Installation
    • Based on NuGet
    • Manually
  • Fundamentals
    • Introduction
    • Using Pattern Matching
    • Option values
    • Either values
    • From void to Unit
    • Func and Action
    • Chainable operations in a Continuation flow
    • Currying and Partial Application
  • Functional
    • Introduction
    • Currying
    • Partial Application
    • Functional Extensions
    • QuickCast to Delegates
  • Operations
    • Introduction
    • Operations with Booleans
    • Operations with Integers
    • Operations with Decimals
    • Operations with Doubles
    • Operations with Strings
  • Types
    • Introduction
    • Unit
    • Option<T>
    • Either<TLeft, TRight>
    • Continuation<TFail, TSuccess>
  • Modules
    • Introduction
    • Option
      • Apply
      • AsEnumerable
      • Bind
      • Count
      • Exists
      • Filter
      • Fold
      • FoldBack
      • Iterate
      • Map
      • OfNullable
      • ToArray
      • ToList
      • ToNullable
    • Either
      • Exists
      • Iterate
      • Fold
      • FoldBack
      • Map
      • Swap
      • ToTuple
    • Continuation
      • AsContinuation
      • Resolve
      • Reject
      • All
    • Collection
      • Append
      • Choose
      • ChunkBySize
      • Collect
      • CompareWith
      • CountBy
      • Concat
      • Distinct
      • Empty
      • Exists
      • Exists2
      • Filter
      • FindIndex
      • Fold
      • Fold2
      • FoldBack
      • FoldBack2
      • ForAll
      • ForAll2
      • ForAll3
      • Head
      • HeadAndTailEnd
      • Range
      • Generate
      • Initialize
      • Iterate
      • Iterate2
      • IterateIndexed
      • IterateIndexed2
      • Map
      • Map2
      • Map3
      • MapIndexed
      • MapIndexed2
      • MapIndexed3
      • Partition
      • Permute
      • Pick
      • Reduce
      • ReduceBack
      • Replicate
      • Scan
      • Scan2
      • ScanBack
      • ScanBack2
      • Tail
      • TryFind
      • TryPick
      • Unzip
      • Unzip3
      • Zip
      • Zip3
  • Extensions
    • Introduction
    • Enum Extensions
    • EqualityComparer Builder
    • Modules as Extensions
Powered by GitBook
On this page

Was this helpful?

  1. Modules

Collection

PreviousAllNextAppend

Last updated 5 years ago

Was this helpful?

This module provides several methods to works with type.

When possible, the examples will use the extension method format, all of them can be replaced by module method without change any behavior.

WARNING

  1. The IEnumerable<T> is a lazy load type, this module works with it, but in some cases is necessary an evaluation of the collection. The methods that performs an evaluation are sinalized.

  2. Some methods appling a given function to more than one collection, in these cases the loop will runs only until reach the size of smallest collection.

  3. Some methods has different parameter order in extension and module versions. It occurs because the static methods in modules are optimized to partial application rather than extension methods that wants to improve usability to make a similar System.Linq sintax.

Methods

Tango.Modules.CollectionModule
Tango.Modules.Collection.Linq
IEnumerable<T>
Append
Choose
ChunkBySize
Collect
CompareWith
CountBy
Concat
Distinct
Empty
Exists
Exists2
Filter
FindIndex
Fold
Fold2
FoldBack
FoldBack2
ForAll
ForAll2
ForAll3
Head
HeadAndTailEnd
Range
Generate
Initialize
Iterate
Iterate2
IterateIndexed
IterateIndexed2
Map
Map2
Map3
MapIndexed
MapIndexed2
MapIndexed3
Partition
Permute
Pick
Reduce
ReduceBack
Replicate
Scan
Scan2
ScanBack
ScanBack2
Tail
TryFind
Unzip
Unzip3
Zip
Zip3