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

    [VB.NET] For Each ...sulle Strutture

    Io ho una struttura con all'interno dei soli dati (e non metodi)
    Vorrei fare un ciclo su tutti gli elementi nella struttura assegnando dei valori
    e riuscire anche ad ottenere il nome del'elemento

    Vi faccio un esempio....Naturalmente non funziona ma è soltanto per farvi capire
    cosa vorrei poter fare

    codice:
    Public Structure datiAppartnenze
        Public nome,cognome,data As String
    End Structure
    
    dim elemento as object
    dim cont as integer=0
    
    for each elemento in datiAppartnenze.????BOHHH
       elemento="Ciao " & cont
       cont+=1
    Next
    
    for each elemento in datiAppartnenze.????BOHHH
      Debug.Write(elemento.Name & "=" & elemento.Value)
    Next
    Il risultato dovrebbe essere
    nome=Ciao 0
    cognome=Ciao 1
    data=Ciao 2

  2. #2
    Una parte sono riuscito a risolverla ovvero quella di ottenere i nomi degli elementi di una struttura

    codice:
        Public Structure prova
            Public nome, cognome, data As String
        End Structure
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim a As prova
            Dim cont As IEnumerator = a.GetType.GetFields.GetEnumerator
            While cont.MoveNext
                MsgBox(CType(cont.Current, System.Reflection.FieldInfo).Name)
            End While
        End Sub
    Ora pero' dovrei assegnare a ogni elemento un valore.... Come posso fare?

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Dim cont As IEnumerator = a.GetType.GetFields.GetEnumerator
    While cont.MoveNext
    MsgBox(CType(cont.Current, System.Reflection.FieldInfo).Name)
    nn mi è chiaro sto passaggio

    implementi un' interfaccia e tramite a (che punta alla struttura prova) usi il metodo a.GetType.GetFields.GetEnumerator che dovrebbe restituire un interfaccia iEnumerator ????

  4. #4
    IEnumerator serve per far scorrere gli elementi di una classe che contiene oggetti multipli. Il vantaggio di enumerator è che il codice per l'iterazione è identico per qualunque tipo che supporti la classe Enumerator

  5. #5
    Mi servirebbe una puntatore che mi permettesse di accedere all'area di memoria dei sottocampi per assegnargli dei valori...
    COme potrei fare?

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.