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 agenti facilmente con Azure AI Agent Service
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Ordinare randomicamente una lista in C#
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Managed deployment strategy in Azure DevOps
Supportare la sessione affinity di Azure App Service con Application Gateway
Implementare l'infinite scroll con QuickGrid in Blazor Server
Combinare Container Queries e Media Queries
Introduzione alle Container Queries