
Foto di Randy son of Robert.
Perché ho dato a quest’articolo un tema del genere? Il motivo è che qualche giorno fa ho avuto una brutta esperienza con i cicli For Each, dalla quale potrete trarre un’utile lezione.
Stavo cercando di costruirmi un array di Object, il quale doveva contenere delle stringhe valorizzate a String.Empty. Non chiedetemi quale sia la ragione per cui io lo stessi facendo, ma vi assicuro che era più che valida. Ecco il codice corrispondente:
Dim voEmpty(2) As Object
Dim i As Integer = 0
For Each o As Object in voEmpty
o = String.Empty
Next
Eseguendo questo pezzo di codice, ho notato che il vettore voEmpty continuava ad avere tutti gli elementi a Nothing. Perché? Non avevo pensato al fatto che il For Each fornisce un riferimento all’elemento iesimo della collezione: io stavo modificando la variabile d’appoggio, non gli elementi dell’array!
Qual è la lezione che possiamo trarre? I For Each non vanno usati per manipolare i dati di una collezione, ma al massimo per leggerla agevolmente, usando poche istruzioni. ![]()
Tags: .net, for each, programmazione, vb.net


















Commenti recenti