Ciao ragazzi,
sono nuovo di C# ma conosco il Java, e sono sorpreso dalle somiglianze tra questi due linguaggi! La gestione degli ArrayList è abbastanza diversa, ed infatti è lì che ho incontrato i primi problemi.

Situazione: Query su un database, estraggo un record alla volta, ogni record lo faccio diventare un array di stringhe dove ogni stringa è un campo del record, poi infilo ogni record in un arraylist.
Alla fine, ottengo che l'arraylist è riempito sempre con lo stesso valore, e non capisco quale è il problema: se nella stampa o nel riempimento.

Il codice: [ Creazione dell'ArrayList]



codice:
SqlDataReader myReader = cmd.ExecuteReader();
            
            String[] rec = new String[11];
            ArrayList tot = new ArrayList();
            


            while (myReader.Read())
            {
                
                for (int p = 0; p < 11; p++) {
                    Console.WriteLine("Entro nel for");
                    if (p == 0||p==1||p==2||p==3||p==4) rec[p] = myReader.GetString(p);
                    else if (p == 5 || p == 7 || p == 9)
                    {
                       SqlDateTime temp = myReader.GetSqlDateTime(p);
                        rec[p] = temp.ToString().Substring(0, 10);
                    }
                    else if (p == 6 || p == 8 || p == 10)
                    {
                        SqlDateTime temp = myReader.GetSqlDateTime(p);  
                        rec[p] = temp.ToString().Substring(11, 8);
                    }
                    
                
                }
                
                tot.Add(rec);
            }
Stampa:

codice:
for (int i = 0; i < tot.Count; i++) { 

        string[] value = tot[i] as string[]; 
         Console.WriteLine(value[0]); }
Grazie a chiunque volesse darmi una mano....