Table of contents
TOC
Collapse the table of content
Expand the table of content

List.forall2<'T1,'T2> Function (F#)

Den Delimarsky|Last Updated: 7/5/2016
|
1 Contributor

Tests if all corresponding elements of the collection satisfy the given predicate pairwise.

Namespace/Module Path: Microsoft.FSharp.Collections.List

Assembly: FSharp.Core (in FSharp.Core.dll)

Syntax

// Signature:
List.forall2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool

// Usage:
List.forall2 predicate list1 list2

Parameters

predicate Type: 'T1 -> 'T2 ->bool

The function to test the input elements.

list1 Type: 'T1list

The first input list.

list2 Type: 'T2list

The second input list.

Exceptions

ExceptionCondition
ArgumentExceptionThrown when the input lists differ in length.

Return Value

true if all of the pairs of elements satisfy the predicate. Otherwise, returns false.

Remarks

The predicate is applied to matching elements in the two collections. If any application returns false then the overall result is false and no further elements are tested. Otherwise, if one collection is longer than the other then the System.ArgumentException exception is raised. Otherwise, true is returned.

This function is named ForAll2 in compiled assemblies. If you are accessing the function from a .NET language other than F#, or through reflection, use this name.

Example

let listEqual list1 list2 = List.forall2 (fun elem1 elem2 -> elem1 = elem2) list1 list2
printfn "%b" (listEqual [0; 1; 2] [0; 1; 2])
printfn "%b" (listEqual [0; 0; 0] [0; 1; 0])

Output

true
false

Platforms

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Version Information

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

See Also

Collections.List Module (F#)

Microsoft.FSharp.Collections Namespace (F#)

© 2016 Microsoft