using System.Collections.Generic;
foreach(var clown in CréerAmuseurs(10))
static List<Clown> CréerAmuseurs(int n)
for(int i = 0; i != n; ++i)
lst.Add((dé.Next() % 3) switch {
0 => new Clown($"Clown {n + 1}"),
1 => new ClownTriste($"Clown {n + 1}"),
2 => new Pennywise($"Clown {n + 1}"),
static void AmuserAvec(Clown c)
Console.WriteLine($"{c.Nom} fait {c.Grimace()}");
public string Nom{ get; init; }
public Clown(string nom) { Nom = nom; }
public virtual string Grimace() => "Blah";
class ClownTriste : Clown
public ClownTriste(string nom) : base(nom) { }
public override string Grimace() => "Bouhouhou";
public Pennywise(string nom) : base(nom) { }
public override string Grimace() => "NYAHAHA!";