Molto spesso abbiamo la necessità di parsare un file per analizzarne il contenuto. Altrettanto spesso questi file hanno una riga per ogni record e le colonne sono o a lunghezza fissa o separate da un carattere (per esempio, i file csv usano una virgola per separare le colonne). In questi possiamo ottenere i singoli record splittando il contenuto del file in base al carattere di "a capo" e poi per ogni riga splittare in base al carattere che separa le colonne.
Grazie alla clausola Let di Linq possiamo facilmente raggiungere lo scopo come mostrato nel seguente esempio.
var rows = fileContent.Split(new[] {Environment.NewLine}, StringSplitOptions.None); var rows = from r in rows let columns = r.Split(",") select new { Id = columns[0], FirstName = columns[1], LastName = columns[2] };
La prima riga genera le righe, mentre l'istruzione Linq prima esegue lo split per generare le colonne e poi crea un oggetto anonimo con esse.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare al massimo i topic space di Event Grid MQTT
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Gestire domini wildcard in Azure Container Apps
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Eseguire attività basate su eventi con Azure Container Jobs
Creare gruppi di client per Event Grid MQTT
Usare le collection expression per inizializzare una lista di oggetti in C#
Utilizzare la libreria Benchmark.NET per misurare le performance
Utilizzare gli snapshot con Azure File shares
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- ASP.NET 3.5 per tutti
- .NET Conference Italia 2023 - Milano e Online
- Utilizzare Docker Compose con Azure App Service
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!