📜 RĂ©cap’

Types

5 collections dont 4 fonctionnelles/immutables

  • List : choix par dĂ©faut

    • Passe-partout

    • Pratique : pattern matching, opĂ©rateurs Cons :: et Append @...

  • Array : mutabilitĂ© / performance

  • Seq : Ă©valuation diffĂ©rĂ©e (Lazy), sĂ©quence infinie

  • Set : unicitĂ© des Ă©lĂ©ments

  • Map : classement des Ă©lĂ©ments par clĂ©

API

Riche → Centaine de fonctions >> Cinquantaine pour LINQ

Homogùne → Conservation du type de la collection (≠ avec LINQ, bascule sur IEnumerable<>) → Syntaxe et fonctions communes entre les types de collection

SĂ©mantique → Nom des fonctions proche du JS (cf. tableau ci-dessous)

Comparatif C♯, F♯, JavaScript

C♯ LINQ

F♯

JS Array

Select(), SelectMany()

map, collect

map(), flatMap()

Any(predicate), All()

exists, forall

some(), every()

Where(), ×

filter, choose

filter(), ×

First(), FirstOrDefault()

find, tryFind

×, find()

×

pick, tryPick

×

Aggregate([seed]])

fold, reduce

reduce()

Average(), Sum()

average, sum

×

ToList(), AsEnumerable()

List.ofSeq, toSeq

×

Zip()

zip

×

Exercices

Sur exercism.io, voici quelques exercices sur les collections :

Exercice
Niveau
Sujets

High Scores

Facile

List

Protein Translation

Moyen+

Seq/List 💡

ETL

Moyen

Map de List, Tuple

Grade School

Moyen+

Map de List

☝ PrĂ©-requis : → Se crĂ©er un compte, avec GitHub par exemple → RĂ©soudre les 1ers exercices pour arriver Ă  ceux-lĂ 

Ressources complémentaires

Mis Ă  jour

Ce contenu vous a-t-il Ă©tĂ© utile ?