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
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Evitare la compressione degli artefatti in un workflow di GitHub
Creare un extension method per applicare condizionalmente una Where in una query LINQ per Entity Framework
Esporre tool MCP con Azure Functions
Supporto nativo a JSON in SQL Server 2025
Utilizzo delle Feature flag in ASP.NET Core
Blue/Green Release in locale con .NET Aspire
Configurare OpenAI in .NET Aspire
Introduzione a GitHub Copilot CLI
Semplificare i deployment con le label in Azure Container App
Definire il colore di una scrollbar HTML tramite CSS
DevSecOps per .NET: dalla teoria alla pratica


