[C#]ArrayList multidimensionale?

mercoledì 17 dicembre 2008 - 01.00

blackorchid Profilo | Newbie

Salve
Esiste un modo per avere una matrice di numero di righe e colonne variabili, un po' come si fa tramite gli Arraylist per quanto riguarda gli array? In verità mi basterebbe avere una matrice con numero colonne costante, e numero righe variabile per ogni colonna. Per adesso faccio così e me ne frego dello spazio:
int[,] matrice=new int[100,1000];

aiedail92 Profilo | Expert

Ciao

Se ti serve avere un numero costante di colonne e un numero variabile di righe (differente) per ogni colonna, puoi crearti un'array di ArrayList (o meglio di List<int>), in questo modo:

//Crea una matrice di 100 List<int> List<int>[] array = new List<int>[100]; //Inizializza ogni List<int> array.Initialize(); int x, y; //Aggiunge un elemento nella colonna x array[x].Add(12345); //Accede all'elemento (x,y) int elem = array[x][y]; //Modifica l'elemento in posizione (x,y) array[x][y] = 12345;

Luca

blackorchid Profilo | Newbie

Il codice riportato sopra non funziona. Ogni volta che cerco di fare qualcosa con array mi da il messaggio d'errore:Riferimento su un oggetto non impostato su un'istanza d'oggetto

aiedail92 Profilo | Expert

Sì, scusa è stato un mio errore... In pratica devi sostituire la chiamata al metodo Initialize con un for dove inizializzi ogni colonna dell'array:

for (int i = 0; i < array.Length; i++) array[i] = new List<int>();

Luca

blackorchid Profilo | Newbie

Ciao Luca
Adesso funziona!!!
Grazie

aiedail92 Profilo | Expert

Perfetto

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5