Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [c] Vettori in c#

    Ciao a tutti... ho dichiarato un vettore di interi in questo modo:

    codice:
    int[] vettore = new int[] {};
    All'interno di una funzione voglio poi popolarlo... Ma non riesco a capire come fare!!!!

    il codice è:

    codice:
    vettore[vettore.Length-1] = new int[]{ID1};
    dove ID1 è di tipo int....

    L'errore che mi viene dato è: Cannot implicitly convert type int[] to int ...
    Che devo fare per popolare dinamicamente questo vettore??!!?
    Ciao ciao
    Lidia

  2. #2
    innanzitutto devi dimensionare il vettore, ad esempio:

    Codice PHP:
    int[] vettore = new int[10]; 
    questo ti permetterà di avere un vettore di 10 elementi con indici da 0 a 9

    cosa intendi poi per popolarlo dinamicamente? sai già a priori quanti elementi conterrà o no?
    no pain no gain!

    ricordati che hai dei limiti...

  3. #3
    Il problema è dimensionarlo!!!
    Io non so a priori quanto sarà grande!!

    Potrebbe essere mille, cinquemila o due...
    Non posso dargli una dimensione fissa!
    Ciao ciao
    Lidia

  4. #4
    dai un'occhiata sulla documentazione msdn alle liste tipizzate

    Codice PHP:
    List<intvettore = new List<int>();
    vettore.Add(2);
    vettore.Add(3);
    vettore.Add(4);
    vettore.Add(5);
    vettore.Add(6); 
    no pain no gain!

    ricordati che hai dei limiti...

  5. #5
    Sì.. ci avevo pensato...
    Solo che il problema è che vorrei utilizzare una matrice multidimensionale...
    Praticamente per ogni riga di questa matrice memorizzo una serie di valori...

    Il problema è quindi lo stesso dei vettori...
    Ciao ciao
    Lidia

  6. #6
    così al volo mi viene in mente una soluzione del genere. funziona, ma non è la migliore per le tue necessità...

    codice:
        class Program
        {
            static void Main(string[] args)
            {
                List<Riga> m_righe = new List<Riga>();
                m_righe.Add(new Riga());
                m_righe[0].Valori.Add(2);
                m_righe[0].Valori.Add(3);
                m_righe.Add(new Riga());
                m_righe[1].Valori.Add(4);
                m_righe[1].Valori.Add(5);
            }
        }
    
        public class Riga
        {
            private List<int> m_valori;
    
            public List<int> Valori
            {
                get { return this.m_valori; }
            }
    
            public Riga()
            {
                m_valori = new List<int>();
            }
        }
    no pain no gain!

    ricordati che hai dei limiti...

  7. #7
    Sono una super novizia... Quindi sto faticando parecchio a capire ciò che hai scritto...
    Mannaggia!!

    Ti ringrazio cmnq e provo ad applicarla..
    Ciao ciao
    Lidia

  8. #8
    Forse è meglio che spieghi il problema, magari c'è una soluzione diversa che non utilizzare le matrici.

    All'interno di una funzione ricorsiva filtro una DataTable, finchè non raggiungo il risultato trovato. Il risultato trovato è un vettore composto da n elementi ogni volta differenti.
    Nello stessa chiamata di funzione potrei quindi trovare m percorsi, composto ognuno da n elementi...

    Io voglio memorizzare da qualche parte questa struttura (composta quindi da m righe e n colonne), per poi successivamente analizzarla...

    Come posso fare?
    Ciao ciao
    Lidia

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    P.S.: C# è un linguaggio, C è un altro.
    Correggo il titolo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.