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
Blazor e InputHidden in .NET 10
Integrare OpenTelemetry direttamente in Azure Monitor
Effettuare un clone parziale di un repository di GitHub
Realizzare un accordion con gli elementi HTML details e summary
Supporto semplificato per le left join in Entity Framework 10
Welcome to Future Dev Day 2026
Effettuare chiamate API tramite GitHub App
Dallo sviluppo locale ad Azure con .NET Aspire
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Abilitare .NET 10 su Azure App Service e Azure Functions
Integrare OpenAI tramite Aspire
Utilizzare le librerie native di .NET per decomprimere un file zip


