cavolo hai ragione, in effetti ora funziona. Davo pr scontato cheOriginariamente inviato da URANIO
L'errore dovrebbe essere dovuto al fatto che cerchi di accedere ad un metodo di una classe non istanziata.
L'array interno lo dichiari in questo modo
Con questo codice dai una dimensione all'arraycodice:private static Record[] table;
Ma è un array di oggetti null.codice:table = new Record[dimTable];
Prova a modificare l'add:
PScodice:public void add(int idx, string data) { table[idx]= new Record(data); }
Sai che esistono già librerie che fanno questo nel framework giusto?
PPS
-Record[] table; non lo farei static ma solo private
-La classe Record la farei di tipo struct (è una particolare classe .net)
-Il metodo ADD lo metterei solo nella classe table, è suo il compito di aggiungere oggetti all'array, Record non può "aggiungersi" ne eliminarsi dall'array (ne vederlo), chi comanda l'array interno è solo la classe Table.
si preoccupasse non solo di dare una dimensione all'array ma anche di istanziare anche le classi usando il costruttore generico Record() ._. cosa che giustamente non fa perché non glie l'ho detto. ._. e pensare che ci ho perso le ore dietro a sta cosa... *depressione* Eheh.codice:table = new Record[dimTable];
Anche se non mi sono informato sull'esistenza di tale libreria, immaginavo esistesse già (come esiste in Java), però ho bisogno di fare eserci... parecchi esercizi... visto che sia il C# che il Java ormai sono usati in larga scala in ambito lavorativo. Penso che questo sia un esercizio interessante se fatto bene. Come lo è stato quando l'ho fatto in C per un progetto all'università.
altra domanda: secondo i vostri "gusti" è più elegante modificare il costruttore di Table in questo modo:
oppure lasciare il costruttore come prima ed istanziare Record solo quando vado ad aggiungere un nuovo record nella tabella?codice:public Table(int dimTable) //costruttore di Table { table = new Record[dimTable]; for(int i = 0; i < dimTable; i++) { table[i] = new Record(); } this.dimTable = dimTable; }

Rispondi quotando