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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Nav menu
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Proteggere le risorse Azure con private link e private endpoints
Ridurre il reflow cambiando il CSS
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare una qualunque lista per i parametri di tipo params in C#
Eseguire script pre e post esecuzione di un workflow di GitHub
Selettore CSS :has() e i suoi casi d'uso avanzati
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Eliminare record doppi in Sql Server
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Gestione ciclo di vita in .NET Aspire
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestione CSS in Blazor con .NET 9