Ordinare randomicamente una lista in C#

di Stefano Mostarda, in .NET Framework,

In alcuni tipi di applicazioni, capita spesso di dover riordinare randomicamente gli elementi di una lista. Ad esempio, nei giochi di carte si devono mischiare le carte prima che queste vengano distribuite. .NET 8 introduce sulle classi Random e RandomNumberGenerator un nuovo metodo che svolge questo compito: Shuffle[T]. Questo metodo prende in input una lista di oggetti e la riordina randomicamente esattamente come farebbe una persona quando mischia le carte.

private List<string> cards = new[]
{
    "C1",
    "C2",
    "C3",
    "C4",
    "C5",
  ...
};
Random.Shared.Shuffle(cards);

Va tenuto in considerazione il fatto che questo metodo mischia la lista ricevuta in input, non ritorna una lista mischiata. Se l'ordine della lista originale è importante allora occorre farne una copia in memoria.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi