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
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Recuperare l'ultima versione di una release di GitHub
Utilizzare Container Queries nominali
Centralizzare gli endpoint AI Foundry con Azure API Management
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Combinare Container Queries e Media Queries
Change tracking e composition in Entity Framework
Eseguire query in contemporanea con EF
Path addizionali per gli asset in ASP.NET Core MVC
Creare una libreria CSS universale: Immagini
La gestione della riconnessione al server di Blazor in .NET 9
.NET Conference Italia 2024
I più letti di oggi
- Gestione file Javascript in Blazor con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!