Table of contents
Collapse the table of content
Expand the table of content<'T,'U> Function (F#)

Den Delimarsky|Last Updated: 8/18/2017
2 Contributors

Creates a new collection whose elements are the results of applying the given function to each of the elements of the collection. The given function will be applied as elements are demanded using the MoveNext method on enumerators retrieved from the object.

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

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


// Signature: : ('T -> 'U) -> seq<'T> -> seq<'U>

// Usage: mapping source


mapping Type: 'T -> 'U

A function to transform items from the input sequence.

source Type: seq<'T>

The input sequence.


ArgumentNullExceptionThrown when the input sequence is null.

Return Value

The result sequence.


// initial sequence
let simpleSeq = seq { for x in 1 .. 5 -> x }

// mapping function to initial sequence. Notice that the function applied by map can return any data type to the new sequence.
let xTimes2 =
  |> x -> sprintf "x * 2 = %i" (x * 2) )

printfn "simpleSeq: %A" simpleSeq
printfn "xTimes2: %A" xTimes2

// The result is...
simpleSeq: seq [1; 2; 3; 4; ...]
xTimes2: seq ["x * 2 = 2"; "x * 2 = 4"; "x * 2 = 6"; "x * 2 = 8"; ...]


The returned sequence may be passed between threads safely. However, individual IEnumerator values generated from the returned sequence should not be accessed concurrently.

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


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.Seq Module (F#)

Microsoft.FSharp.Collections Namespace (F#)

© 2020 Microsoft