List são estruturas de dados que podem ser acessados sequencialmente e suportam variáveis de todos os tipos do X++. É possível incluir um novo elemento tanto no final da lista quanto no inicio. Vamos ver um exemplo prático.
List lista;
;
lista = new List(Types::Integer);
lista.addEnd(1);
lista.addEnd(20);
lista.addEnd(10);
lista.addEnd(10);
lista.addStart(0);
print lista.elements(); // 5
print lista.toString(); // <0, 1, 20, 10, 10>
pause;
Como podemos ver no output a lista ordena as variáveis pela ordem de entrada. Não existe como iterar uma List, é necessário utilizar um enumerator ou um iterator. Falarei destas classes mais adiante.