Lista Dinamica - consigli approccio

di il
7 risposte

Lista Dinamica - consigli approccio

Ciao ragazzi,
di nuovo io a chiedervi uno spunto per cercare una soluzione che possa aiutarmi a risolvere un problema.
Banalmente ho 5 Posizioni, che rappresentano la cronologia degli ultimi 5 dati ricevuti in input.
Al primo dato ricevuto, dovrei collocare una stringa alla posizione 1.

1. prima stringa
2.
3.
4.
5.

Ricevuto un secondo dato, questo dovrebbe passare al primo posto, e quello precedente scalare in giù.

1.seconda stringa
2.prima stringa
3.
4.
5.

Arrivato all'ultima posizione, il dato scompare.
Cosa potrebbe aiutarmi? Sinceramente io ho zero idee, se non popolare qualche array e scalarlo ogni volta, ma temo sia troppo "sporco" come metodo.
Grazie

7 Risposte

  • Re: Lista Dinamica - consigli approccio

    Puoi utilizzare una coda tipizzata

  • Re: Lista Dinamica - consigli approccio

    Lebron5 ha scritto:


    Banalmente ho 5 Posizioni, che rappresentano la cronologia degli ultimi 5 dati ricevuti in input.
    [...]
    Arrivato all'ultima posizione, il dato scompare.
    Cosa potrebbe aiutarmi?
    Puoi usare una LinkedList<> e "giocare" con i suoi metodi AddFirst() per aggiungere elementi in testa e, quando hai raggiunto il Count massimo consentito, chiamare RemoveLast() per togliere l'ultimo elemento dal fondo, in modo da fare posto per un nuovo inserimento in testa.

    Vedi la documentazione ufficiale che ti ho linkato per approfondimenti ed esempi d'uso.

    Ciao!
  • Re: Lista Dinamica - consigli approccio

    Grazie mille, proverò ad approfondire...
  • Re: Lista Dinamica - consigli approccio

    Una lista fa al caso tuo:
    
       private List<string> lista = new List<string>(); // dichiarazione di una lista di stringhe
       private int maxRig = 5; // con 5 avrai 6 righe nella lista (da 0 a 5)
    
    per esempio se inserisci il testo in una textbox e confermi l'ingresso con un button
    
    private void Button1_Click(object sender, EventArgs e)
    {
       lista.Insert(0, textBox1.Text); // il contenuto della textbox in posizione zero, le altre scorrono
       if (lista.Count > maxRig) lista.RemoveAt(maxRig); // se la lista contiene sei righe, la sesta viene rimossa
    }
    
  • Re: Lista Dinamica - consigli approccio

    Grazie Rubik, avevo cominciato a sviluppare questa soluzione,
    ma sono ad un punto di non ritorno.
    Continuo ad avere degli errori che bloccano il debug.
    Esempio:



    è un System.Runtime.InteropServices.COMException, che avviene in maniera random.
    Non succede sempre alla stessa iterazione del codice, ma ad un certo punto, la comunicazione con Excel sembra "bloccarsi".

    Ho cercato un pò su internet, dove indicano di modificare le Microsoft Excel Application Properties, ma non riesco a trovarlo nel DCOMCNFG.

    Sapreste aiutarmi?
  • Re: Lista Dinamica - consigli approccio

    Lebron5 ha scritto:


    Continuo ad avere degli errori che bloccano il debug. [...]
    Ho cercato un pò su internet, dove indicano di modificare le Microsoft Excel Application Properties, ma non riesco a trovarlo nel DCOMCNFG.
    Scusa, ma questa roba cosa c'entra con il problema che hai sollevato all'inizio?
  • Re: Lista Dinamica - consigli approccio

    Scusate sono andato leggermente offtopic, ma è un problema che ho riscontrato all'utilizzo della List consigliata da Rubik.
    Creerò un nuovo topic nel caso non dovessi risolvere...
Devi accedere o registrarti per scrivere nel forum
7 risposte