Difference between Seq.map and Seq.collect in F#

Viewed 4183

In F#, what is the difference between functions "Seq.collect" and "Seq.map"? They seem equivalent from the description on MSDN.

2 Answers

If you know LINQ, the following comparison may be useful:

F#: Seq.map, LINQ: Select

F#: Seq.collect, LINQ: SelectMany

Seq.collect will first map each sequence element to a new sequence and flatten this sequences into a single one.

Seq.map will just map each element to a new element.

Related