PDA

View Full Version : [c# Linq]


Skull82
09-05-2014, 07:39
Ciao,
volevo una mano devo sommare dei campi di un csv se questi hanno un campo in comune come posso fare? Grazie

sono riuscito a ordinare il file con questo comando linq

codice:

IEnumerable<string> query =
from line in lines
let x = line.Split(',')
orderby x[2]
select x[2] + ", " + (x[1] + " " + x[0]);


ora dovrei sommare dei campi che hanno x[2] uguale

Riordian
09-05-2014, 14:58
hai provato con il groupby?
una cosa tipo questa:

var query =
from line in lines
let x = line.Split(',')
group line by x[2] into filteredLines
select new { chiave = x[2], dati = filteredLines.ToList() };

se funziona, non lo ho provato, dovrebbe restituire una lista con chiave x[2] e le righe raggruppate per x[2]
A sto punto puoi lavorare con le liste filtrate come meglio credi