A volte capita di avere un file di testo formattato con dei separatori (un file csv per esempio) e di dover estrarre solo alcune righe da questo file.
Se il file non è di grosse dimensioni, possiamo caricarlo in memoria creando un oggetto per ogni riga ed effettuanto poi il filtro con una query LINQ.
var query = (from line in File.ReadAllLines(filePath) let order = line.Split(';') select new Order() { Id = Convert.ToInt32(order[0]), CustomerId = Convert.ToInt32(order[1]), ShippingDate = DateTime.Parse(order[2]), }).Where(o => o.ShippingDate == DateTime.Today);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Estrarre dati randomici da una lista di oggetti in C#
Combinare Container Queries e Media Queries
Eseguire i worklow di GitHub su runner potenziati
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Creare una custom property in GitHub
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Introduzione ai web component HTML
Introduzione alle Container Queries
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Gestire la cancellazione di una richiesta in streaming da Blazor
Generare una User Delegation SAS in .NET per Azure Blob Storage