Condividi:
Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!
Moderatori: Anthony47, Triumph Of Steel, archimede
di karug64 » 23/09/16 21:20
Salve a tutti.
Sto cercando di imparare Vb.net.
In un modulo dichiaro:
- Codice: Seleziona tutto
Public schema(13, 23) As String
poi vorrei ridimensionarlo in base ai valori di due textbox digitati dall'utente
ho scritto:
- Codice: Seleziona tutto
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim x, y As Integer
x = Integer.Parse(righe.Text)
y = Integer.Parse(colonne.Text)
ReDim Preserve schema(x, y)
End Sub
Ma ho errore che mi dice che Redim può modificare solo la prima dimensione a destra (quindi solo y)
Come si fa per dimensionare un array bidimensionale al volo ?
Grazie
Office 2010
-
karug64
- Utente Senior
-
- Post: 746
- Iscritto il: 20/11/11 21:22
di Anthony47 » 24/09/16 00:35
Ma a te serve il Preserve? Cioe' mantenere il contenuto attuale dell'array?
-
![Avatar utente](./download/file.php?avatar=20942_1525359206.gif)
Anthony47
- Moderatore
-
- Post: 19326
- Iscritto il: 21/03/06 16:03
- Località: Ivrea
di karug64 » 24/09/16 06:57
Si, serve ....
Office 2010
-
karug64
- Utente Senior
-
- Post: 746
- Iscritto il: 20/11/11 21:22
di Anthony47 » 24/09/16 16:52
Redim Preserve, per "impostazione di fabbrica", puo' manipolare solo l'ultima dimensione; devi quindi trovare altri trucchi per fare quello che devi ottenere.
Ad esempio:
-tieni conto delle nuove dimensioni solo quando vai a utilizzare i tuoi dati (solo se le nuove dimensioni non sono maggiori delle precedenti)
-crei un nuovo Array delle dimensioni volute, vi passi il contenuto di schema (per le righe/colonne disponibili, ma tenendo conto del nuovo limite impostato); a questo punto puoi continuare a usare il contenuto del nuovo array, oppure (per non modificare il codice successivo), ridimensioni "schema" (senza Preserve) e vi passi il contenuto del nuovo array.
Ciao
-
![Avatar utente](./download/file.php?avatar=20942_1525359206.gif)
Anthony47
- Moderatore
-
- Post: 19326
- Iscritto il: 21/03/06 16:03
- Località: Ivrea
di karug64 » 24/09/16 23:56
Ok. Grazie
Office 2010
-
karug64
- Utente Senior
-
- Post: 746
- Iscritto il: 20/11/11 21:22
di hydra » 29/09/16 07:58
Dai un occhio ad
arraylist o
list. Sono oggetti dinamici, quindi se aggiungi o togli oggetti ne modifichi automaticamente le dimensioni. C'è da smanettare un po' per creare una matrice (tipo creare una lista di liste) visto che sono monodimensionali, ma molto più flessibili se hai un array di cui le dimensioni non sono note.
-
![Avatar utente](./download/file.php?avatar=11525_1289392731.gif)
hydra
- Moderatore
-
- Post: 7007
- Iscritto il: 19/07/04 08:06
- Località: Vallis Duplavis
Torna a Programmazione
Topic correlati a "vb.net dimensionare array bidimensionali":
Chi c’è in linea
Visitano il forum: Nessuno e 3 ospiti