Estrarre dati randomici da una lista di oggetti in C#

di Stefano Mostarda, in .NET Framework,

In alcuni tipi di applicazioni capita spesso di dover estrarre randomicamente elementi, anche ripetuti, da una lista di oggetti; ad esempio, nei giochi di memoria si devono estrarre degli oggetti da una lista e l'utente deve ricordarne l'ordine. .NET 8 introduce sulle classi Random e RandomNumberGenerator un nuovo metodo che semplifica questo compito: GetItems[T]. Questo metodo prende in input una lista di oggetti e un numero di estrazioni da fare. Se il numero di estrazioni è superiore alle dimensioni della lista, allora gli oggetti vengono estratti più volte. Vediamo il metodo in azione.

private List<string> strings = new[]
{
    "Cristian",
    "Daniele",
    "Elisa",
    "Marco",
    "Matteo",
    "Morgan",
    "Stefano"
};
string[] round = Random.Shared.GetItems(strings, 10);

In questo esempio, si ha una lista con sette elementi, ma devono esserne estratti dieci. Questo significa che ci saranno elementi ripetuti nella variabile round.

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