Ciao a tutti. Ho una domanda un po' da newbie, ma sono un po' arruginito sull'argomento per cui per non sbagliare preferisco chiedere un aiuto.

Ho creato 2 classi: Articolo,Categoria. Ogni articolo può fare parte di più categorie.

Articolo[] tutti_gli_Art; 
[...] 
class Categoria{ 
Articolo[] _art; 
[...] 
public Articolo[int index]{ 
get{ return _art[index];} 
 
} 
[...] 
} 
 

La classe categoria ha un array di tipo Articolo[] contenente (indovinate un po'?) tutti gli articoli appartenenti a quella categoria.

In memoria ho un altro vettore, sempre di tipo Articolo[], contenente tutti gli articoli. Quello che vorrei fare è poter accedere agli Articoli di una Categoria senza crearne una copia.
Ad esempio ho un array composto di 4 elementi{art1,art 2,art3,art4} e 2 categorie cat1 cat2.
art2 appartiene a cat 1, art3 appartiene a cat2, art1 appartiene a cat1 e cat2. Io vorrei che modificando per esempio art1 di cat2 le modifiche si applichino anche ad art1 di cat1.

C# lo fa già in automatico? Devo utilizzare una struttura particolare (List<T>, Arraylist ecc..) invece di un semplice vettore? Oppure devo implementare una logica di ricerca e sostituzione? La prima cosa a cui avevo pensato era un'array contente dei riferimenti all'area di memoria occupata dall'oggetto, un po' cm faceva in c++...

Attendo le vostre preziose risposte. Grazie.
Modificato da cardy_web il 03 febbraio 2010 19.57 -
Ho risolto da solo... gli array in c# sono sempre passati per riferimento e non per valore per cui non viene sprecata memoria inutilmente....

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.