Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    [c#] ciclare su un enumeratore

    codice:
    Hashtable myHash = new Hashtable();
    myHash.Add("a","alessio");
    myHash.Add("b","barbara");
    myHash.Add("c","carlo");
    myHash.Add("d","daniela");
    myHash.Add("e","elena");
    myHash.Add("f","fabrizio");
    							
    IEnumerator ie = myHash.GetEnumerator();
    while(ie.MoveNext())
    {
          System.Windows.Forms.MessageBox.Show(ie.Key + ie.Value);	
    }
    l'errore che mi da' è: 'System.Collections.IEnumerator' does not contain a
    definition for 'Key', tanto che l'intellisense non mi da i campo key e value
    nel menu a tendina

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    L'errore è giustissimo, in quanto l'interfaccia IEnumerable non contiene le proprietà a cui stai tentando di accedere, come si vede chiaramente dalla documentazione.

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

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

  3. #3
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    o yeaaaa, giusto.
    facendo cosi funziona: IDictionaryEnumerator ie = myHash.GetEnumerator();

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Se non ricordo male, comunque, l'enumeratore viene usato con la sintassi foreach, che dovrebbe essere molto più comoda.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    anche nella foreach va dichiarato un oggetto DictionaryEnumerator sul quale è possibile ciclare

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da afrappe
    anche nella foreach va dichiarato un oggetto DictionaryEnumerator sul quale è possibile ciclare
    No, è sufficiente applicarla alla classe che implementa IEnumerator. Sulla documentazione trovi senz'altro esempi a riguardo.

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

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

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.