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
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Eseguire operazioni sui blob con Azure Storage Actions
Assegnare un valore di default a un parametro di una lambda in C#
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Creare un'applicazione React e configurare Tailwind CSS
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Sostituire la GitHub Action di login su private registry
Utilizzare Model as a Service su Microsoft Azure
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Miglioramenti nelle performance di Angular 16