Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446

    [c#]array di oggetti

    si possono creare degli array di oggetti???
    Qualcuno mi sa dire come si può fare?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Puoi usare la classe ArrayList per memorizzare una lista di riferimenti ad oggetti creati, anche di tipo eterogeneo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    Scusate mi sono spiegata male.
    Vorrei creare un array di dimensioni varibili.
    Questo array contiene oggetti di tipo PropImmagine, classe che ho creato io, e vorrei che ogni volta che faccio un drag&drop mi aggiunga un elemento all'array.

    E' giusto così:

    PropImmagine[] element;
    int i = 0;
    element[i] = new PropImmagine(...);
    i++;

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    Ho capito l'esempio dell'ArrayList, ma non ho capito una cosa:
    faccio così:
    ArrayList MyVect = new ArrayList;
    MyVect.Add(?????);
    come faccio quando aggiungo un elemento dentro la parentesi a passargli un oggetto di tipo PropImmagini, che quindi avrà ad esempio una proprietà colore, una dimensione...insomma dentro la parentesi io vorrei passargli più di un valore.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Proprio per la natura del problema che devi risolvere, credo che l'uso di un ArrayList sia senz'altro più appropriato.

    Si tratta di un contenitore di oggetti, quindi se vuoi salvare un gruppo di informazioni all'interno della lista, basta creare una nuova classe personalizzata, scritta da te, che contenga le proprietà e i metodi adatti alla risoluzione del tuo problema.

    Quando ritieni che sia opportuno dover memorizzare i dati di un elemento, è sufficiente creare un'istanza della classe che hai creata, in modo da ottenere un nuovo oggetto di cui andrai ad impostare i valori delle proprietà precedentemente definite tramite la classe.

    Infine, una volta che hai a disposizione il tuo oggetto, sul quale probabilmente agirai attraverso un riferimento memorizzato in una variabile, sarà sufficiente usare tale riferimento passandolo come parametro al metodo Add per aggiungere l'oggetto alla tua istanza di ArrayList.

    Ad esempio, la tua classe potrebbe essere simile a questa:

    codice:
    class MyElement
    {
        public string FirstName;
        public string Surname;
        public int Age;
    }
    Nella classe in cui lavori, che probabilmente corrisponde ad un Form o simile, dovrai dichiarare un campo che contenga la lista degli oggetti.
    Ovviamente, dovrai inizializzare una sola volta quel riferimento creando un'istanza della classe ArrayList, così potrai disporre di una lista di oggetti da "riempire" successivamente:

    codice:
    private ArrayList alElements;
    
    ...
    
    alElements = new ArrayList();
    Quando è necessario aggiungere un oggetto alla lista, è sufficiente creare un'istanza della tua classe contenente i campi personalizzati e aggiungere il riferimento all'oggetto, con il metodo Add, alla lista precedentemente creata:

    codice:
    // Creo un nuovo oggetto
    MyElement elem = new MyElement();
    
    // Imposto le proprietà
    elem.FirstName = "Kiara";
    elem.Surname = "83";
    elem.Age = 23;
    
    // Aggiungo l'oggetto alla lista
    alElements.Add(elem);
    Le proprietà che ho usato io sono pretestuose, è chiaro, servono solo per spiegare i concetti di cui dovrai tenere conto nella risoluzione del tuo problema.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    Grazie sei stato di grande aiuto!!!

  7. #7

    arraylist

    MyElement elem = new MyElement();

    // Imposto le proprietà
    elem.FirstName = "Kiara";
    elem.Surname = "83";
    elem.Age = 23;

    // Aggiungo l'oggetto alla lista
    alElements.Add(elem);

    cosa viene aggiunto quando si fa l' Add?
    il riferimento all'oggetto elem?

  8. #8

    Re: arraylist

    Originariamente inviato da Peter_BP
    cosa viene aggiunto quando si fa l' Add?
    il riferimento all'oggetto elem?
    Sì (a meno che MyElement non sia una struttura, nel qual caso viene aggiunta una copia dell'intera struttura).
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9

    arraylist

    e se invece faccio:
    alElements.Add(new myElement("Kiara","83",23));


    cosa metto nell'arraylist?
    l'oggetto direttamente?

  10. #10
    No, sempre un riferimento.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.