Referenziare l'oggetto del foreach

di il
3 risposte

Referenziare l'oggetto del foreach

Ciao a tutti,

ho bisogno di un aiuto, per cortesia.
Ho creato una lista di stringhe:
List<string> myData = new List<string>();
che ho riempito in una certa maniera. Tutto ok.
Ho poi un
foreach (string a in myData)
dove all'interno faccio delle operazioni e, nel caso, ho bisogno di marcare l'entry corrente di myData mettendo per esempio un asterisco in testa.
Il problema è che non so come referenziare l'entry di myData corrente per modicarla.

Come posso fare?
Molte grazie,

Lorenzo

3 Risposte

  • Re: Referenziare l'oggetto del foreach

    Non si può. Usa un for normale
    
    using System;
    using System.IO;
    using System.Collections.Generic;
    
    class Program
    {
        static void Main()
        {
            List<string> myData = new List<string>();
            myData.Add("ciao");
            myData.Add("sono");
            myData.Add("io");
            
            for(int i = 0; i < myData.Count; i++)
            {
                myData[i] = "*" + myData[i];
            }             
            
            myData.ForEach(s => Console.WriteLine(s));
        }
    }
    
  • Re: Referenziare l'oggetto del foreach

    Weierstrass ha scritto:


    Non si può. Usa un for normale
    Molte molte grazie!!!!

    Lorenzo
  • Re: Referenziare l'oggetto del foreach

    sacchi ha scritto:


    Ho creato una lista di stringhe:
    List<string> myData = new List<string>();
    che ho riempito in una certa maniera. Tutto ok.
    Ho poi un
    foreach (string a in myData)
    dove all'interno faccio delle operazioni e, nel caso, ho bisogno di marcare l'entry corrente di myData mettendo per esempio un asterisco in testa.
    Il problema è che non so come referenziare l'entry di myData corrente per modicarla.
    Le alternative sono usare un ciclo for() tradizionale, come ti è stato suggerito, oppure una espressione LINQ che a partire dalla lista iniziale ti produca una nuova lista che contenga gli elementi "addizionati" del carattere desiderato laddove il criterio lo richiede.

    Rispetto all'uso del ciclo, ti avvicini maggiormente a un contesto di programmazione funzionale dove hai anche la possibilità (se serve) di conservare la lista delle stringhe originali.

    La scelta rimane comunque tua per comodità o finalità della procedura.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
3 risposte