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
  2. Collection

ForAll3

PreviousForAll2NextHead

Last updated 5 years ago

Was this helpful?

TTests if all corresponding elements of the collection satisfy the given predicate.

If any application returns false then the overall result is false and no further elements are tested. Otherwise, true is returned.

WARNING

This function causes evaluation.

Parameters

Returns

Func<T, T2, T3, bool> predicate

IEnumerable<T> source

IEnumerable<T2> source2

IEnumerable<T3> source3

bool

Usage

Checking if all elements of all collections are equals

//IEnumerable<int> source =  { 4, 2, 6, 8, 10 }
//IEnumerable<int> source2 = { 4, 2 }
//IEnumerable<int> source3 = { 4, 2 }

bool result = 
    source.ForAll3(
        source2,
        source3, 
        (element1, element2,element3) => element1 == element2
                                      && element2 == element3);

//result = true
//IEnumerable<int> source =  { 4, 2, 6, 8, 10 }
//IEnumerable<int> source2 = { 4, 2, 5 }
//IEnumerable<int> source3 = { 4, 2, 5 }

bool result = 
    source.ForAll3(
        source2,
        source3, 
        (element1, element2,element3) => element1 == element2
                                      && element2 == element3);

//result = false
IEnumerable<T>