ciao, sto provando a fare un'applicazione console con visual c# (con il quale sono alle prime armi) e ho questo problema:
devo inserire dei valori in una lista di un tipo di dato creato con una struct.
la struct è questa:
di seguito dichiaro una variabile temp di tipo calciatore dove inserire i valori letti corrispondenti ad una sola riga del file di testo e la mia lista:codice:public struct calciatore { public int code; public string nome; public string squadra; public float voto; public int gol; public int rig; public int amm; public int esp; public int ax; public float pm; }
codice:calciatore temp; List<calciatore> voti = new List<calciatore>();
una riga del file di testo è composta in questa maniera:
quindi ogni valore (separato da un tab) deve finire nel relativo campo della variabile temp di tipo calciatore che poi verrà aggiunta alla lista per poi passare alla riga sucessiva del file di testo fino alla fine: come fare? il problema non è tanto come popolare la lista o come fare il ciclo per arrivare alla fine del file di testo ma bensì inserire i valori giusti nei campi giusti.codice:101 ABBIATI Christian MIL 0,00 0 0 0 0 0 6,00
ero partito con
dovecodice:temp = sr.ReadLine();
ma poi la scritta Impossibile convertire implicitamente il tipo 'string' in 'calciatore' mi ha messo paura.codice:StreamReader sr = File.OpenText(miofile.txt");
so che devo convertire il tipo string restituito da Readline() in int o double con per esempio int.parse(sr.readline()) quando serve, ma come? la readline legge tutta la riga giusto? dovrei fare una conversione per ogni valore?
per esempio
in c con una paio di %d, %lf, %s me la cavavo ma qui proprio non ho capito come fare.codice:temp.code = int.parse(sr.Readline());
ciao e grazie.

Rispondi quotando
