PDA

View Full Version : [.NET] System.Array


cipi
15-07-2004, 11:15
Domanda banale ma ho qualche difficoltà...
Ho scritto una funzione che mi restituisce un System:Array di Duoble con dimensione fissa iDim; ora voglio richiamare iVolte questa funzione e riempire, ad ogni chiamata, una nuova colonna di un altro System.Array di dimensioni (iDim , iVolte). Come faccio?
Pensavo qualcosa del tipo:

For iCounter = 1 To iVolte
dblReturn((???),iCounter) = myClass.myFunction(VariParametri, iDim)
Next iCounter

COsa devo mettere in (???)?

wicasa
15-07-2004, 15:21
nn ti basta far passare un parametro per val alla funzione...



private sub myArray (byval intColumn as Integer,....)

For iCounter = 1 To iVolte
dblReturn(intColumn ,iCounter) = myClass.myFunction(VariParametri, iDim)
Next iCounter

End sub


...dove intCoulumn lo definisci alla chiamata della funzione:


dim numColonna as integer

myArray(numColonna)



spero di aver capito bene...

cipi
15-07-2004, 15:40
ma allora c'è vita nel forum...! Se non mi rispondevi tu wicasa cominciavo a dubitarne... :rolleyes:
Ho capito cosa intendi tranne quella definizione di un array di integer... adesso leggo meglio... Hai votato il mio sondaggio?

wicasa
15-07-2004, 15:43
Attenzione io ho definito il counter come intero...la sub nn necessita di aver una sua dichiarazione!

x il cel...
...no...ora vado...contento:D :D :D

cipi
15-07-2004, 16:11
Originariamente inviato da wicasa
nn ti basta far passare un parametro per val alla funzione...

quindi passo tutto l'array che voglio aggiornare dentro la function e quando esce da li è aggiornato?

wicasa
15-07-2004, 16:28
dipende come è la fuzione...sicuramente nn basta il cilclo for...
...devi definire una var locale o globale come system.array...e poi assegnare il counter come sopra...ma questo pensavo l'avessi già fatto!!!:eek: :) :p

cipi
15-07-2004, 16:49
Originariamente inviato da wicasa
dipende come è la fuzione...sicuramente nn basta il cilclo for...
...devi definire una var locale o globale come system.array...e poi assegnare il counter come sopra...ma questo pensavo l'avessi già fatto!!!:eek: :) :p
ovvio che l'ho fatto... o no? Comincio a non capirci una madonna... (nel senso di donna medioevale! ):D
Non avendo capito io tratto te come un defic... :D :D :mc: ;) Allora riassumendo... per fare in modo che un array (X x Y) venga "aggiornato" Y volte richiamando una funzione che in uscita mi da un array di rango X, cosa devo fare? O le tue risposte sono troppo complicate o sono troppo stanco per continuare a programmare oggi...

wicasa
15-07-2004, 17:20
Penso la seconda!!!!:sofico:

...allora devi costruire una funzione tipo quella di prima...



public function myArray(byVal intCol as integer,byval tuoValore() double) as double

dim _array(,) as double
dim intCounter as integer
dim _Num as integer = 69

for intCounter= 1 to _Num
_array(intCol,intCounter)=tuoValore(intCounter)
next

return _array(,)

end function



questa dovrebbe essere la funzione...
..la chiamta:



dim dblArray(,) as double

dblArray(,)=dblArray(colonna,0)+myArray(colonna,vettoreRiga())



è grezzo...ma ora come ora è quello che mi ricordo sugli array...
...lasciaperdere il system.array...serve solo per operazioni sugli array, e molte volte monodimensionali!

cipi
15-07-2004, 17:42
Originariamente inviato da wicasa

dim _Num as integer = 69


:D :D :D

...lasciaperdere il system.array...serve solo per operazioni sugli array, e molte volte monodimensionali!
grazie wicasa... tutto kiaro!:p