Iterazione con enumeratore
Iterazione con enumeratore
I tipi .Net che espongono un'interfaccia IEnumerable consentono un iterazione manuale. Occorre estrarre un enumeratore dalla collection e poi utilizzare il metodo MoveNext
Esempio 180. Esempio Iterazione manuale [lua]
local List, err = asm1:importType("System.Collections.Generic.List`1[System.String]") -- MIND THE GAP! This is a generic --> special syntax!! System.Collections.Generic.List‘1[[System.Int32]]
local mylist = List({"pippo", "pluto", "paperino"})
local en = mylist.GetEnumerator()
while en.MoveNext() do
alert(en.Current)
end
local Dictionary, err = asm1:importType("System.Collections.Generic.Dictionary`2[[System.String],[System.String]]") -- MIND THE GAP! This is a generic --> special syntax!! System.Collections.Generic.List‘1[[System.Int32]]
local mydict = Dictionary()
mydict.Add("key1", "pippo");
mydict.Add("key2", "pluto");
mydict.Add("key3", "paperino");
local en = mydict.GetEnumerator()
while en.MoveNext() do
local elem = en.Current
alert(elem.Key, elem.Value)
end