Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    passare un array come parametro

    ciao a tutti

    ho questo problema,
    devo creare una funzione che ordina una array generico a due dimensioni
    ma non so come sia possibile passare come argomento un array di cui non so ancora le dimensioni...

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: passare un array come parametro

    Originariamente inviato da jonnino2004
    ciao a tutti

    ho questo problema,
    devo creare una funzione che ordina una array generico a due dimensioni
    ma non so come sia possibile passare come argomento un array di cui non so ancora le dimensioni...
    :master: Come è mai possibile che non conosci le dimensioni di un vettore?
    Pietro

  3. #3
    Per sapere le dimensioni di un array è sufficiente leggere la proprietà Length o LongLength.

    Maggiori info qui:
    http://msdn.microsoft.com/library/de...engthTopic.asp

    IL passaggio dell'array a funzioni avviene come qualsiasi altro oggetto. Se puoi essere più chiaro forse possiamo aiutarti.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Un esempio banale, se servisse
    codice:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim v%(,) = {{1, 2}, {3, 4}, {5, 6}}
            prova(v)
    
        End Sub
    
        Private Sub prova(ByVal v%(,))
            Dim i%, j%
            For i = 0 To v.GetLength(0) - 1
                For j = 0 To v.GetLength(1) - 1
                    Libreria.Print(v(i, j) & " ")
                Next
                PrintLn()
    
            Next
    
        End Sub
    Pietro

  5. #5

    grazie

    grazie per l'aiuto!!!

    vi spiego: sto riscrivendo per .net un progetto in visual basic
    e adesso ho un nuovo problema: prima utilizzavo redim per modificare le dimensioni dell'array al volo adesso l'unica soluzione mi sembra quella di dimensionare a priori un array sufficientemente capiente...

    insomma il caro vecchi redim preserve mioArray non è più utilizzabile!

    se qualcuno di voi ci è già passato mi sarebbe molto utile sapere come fare.

    in ogni caso grazie per l'aiuto!

  6. #6
    Ora sono presenti nel framework oggetti appositi per gli array, come l'ArrayList o l'Hashtable.

    Per esempio, per un array con una sola dimensione:
    codice:
    dim arr as new ArrayList
    arr.Add("valore 1")
    arr.Add("valore 2")
    arr.Add("valore 3")
    Per array bidimensionali puoi usare l'Hashtable:
    codice:
    dim arr as new Hashtable()
    arr.Add("key1","valore1")
    arr.Add("key2","valore2")
    arr.Add("key3","valore3")
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  7. #7

  8. #8
    Prego

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: grazie

    Originariamente inviato da jonnino2004
    grazie per l'aiuto!!!

    vi spiego: sto riscrivendo per .net un progetto in visual basic
    e adesso ho un nuovo problema: prima utilizzavo redim per modificare le dimensioni dell'array al volo adesso l'unica soluzione mi sembra quella di dimensionare a priori un array sufficientemente capiente...

    insomma il caro vecchi redim preserve mioArray non è più utilizzabile!

    se qualcuno di voi ci è già passato mi sarebbe molto utile sapere come fare.

    in ogni caso grazie per l'aiuto!
    Ma tu scherzi, vero? Come fai a dire che non esiste redim? Te lo ha detto uno che lavora in c#? Lo hai provato almeno? Guarda che il Frameword è andato avanti, non indietro
    Allora, prova questo:

    'Dichiaro la matrice
    dim a() as integer

    'creo la matrice
    redim a(100) 'nota che non è stata utilizzata la clausola As

    'aumento la dimensione del vettore e preservo i valori
    redim preserve a(200)


    E guarda che ci sono pure le matrici di matrici, i vettori Stack, BitArray, Queue, ArrayList, Hashtable, SortedList, StringCollection, StringDictionary

    Insomma, smetto se non finiamo domani

    Comunque, nel dubbio, manda un poco di codice

    Pietro

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: grazie

    Originariamente inviato da jonnino2004
    grazie per l'aiuto!!!

    vi spiego: sto riscrivendo per .net un progetto in visual basic
    e adesso ho un nuovo problema: prima utilizzavo redim per modificare le dimensioni dell'array al volo adesso l'unica soluzione mi sembra quella di dimensionare a priori un array sufficientemente capiente...

    insomma il caro vecchi redim preserve mioArray non è più utilizzabile!

    se qualcuno di voi ci è già passato mi sarebbe molto utile sapere come fare.

    in ogni caso grazie per l'aiuto!
    Ho riletto meglio il tuo messaggio. In genere, molti libri descrivono il nuovo linguaggio vb.net, paragonandolo a vb6, perchè, anche se vb.net è indubbiamente basic, lo devi comunque considerare come un linguaggio diverso, perciò va studiato così come si studierebbe il c#

    Conta poi che il tuo problema è molto ma molto semplice: le cose interessanti ed impegnative vengono con le classi, le interfacce, la refection e tutto il resto che non so e non imparerò mai

    Ciao e alla prossima
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.