One of the hidden new feature of NAV 2016 and C/AL language is the possibility to loop on a .NET variable.
You can declare a variable like:
mylist : DotNet System.Collections.Generic.List
and loop through the element in this way:
FOREACH item IN mylist DOBEGINMESSAGE(item);END;
You can use all the power of .NET objects in a native way now. Standard arrays are dead for me 😉