AX Dev Warehouse

Um blog dedicado ao desenvolvimento de soluções em Microsoft Dynamics AX
posts - 41, comments - 18, trackbacks - 0

Coleções de objetos no X++: Maps

 

A próxima coleção é o Map. O Map guarda pares - Key, Value - de qualquer tipo de objeto. A key, como propõe o nome é uma chave e deve ser única em um Map. Portanto se você tentar incluir duas linhas com a mesma chave, o X++ irá guardar apenas uma linha, a última que foi incluída. O Map é semelhante ao Dictionary do .Net Framework e deve ser usada para acessos diretos à uma linha, como mostra a Listagem 2.

 

Listagem 2: Utilizando um Map

    Map map = new Map(Types::String, Types::Date);
    ;

    map.insert("João", str2date("10/01/2006", 1));
    map.insert("José", str2date("20/10/2006", 1));
    map.insert("Maria", str2date("5/8/2006", 1));
    map.insert("Jonas", str2date("25/12/2006", 1));

    if (map.exists("João"))
    {
        print map.lookup("João"); //Resultado: 10/1/2006
    }

    if (map.exists("Francisco"))
    {
        //Não executa, pois Francisco não está na lista
        print map.lookup("Francisco"); 
    }

Para buscar o valor em um Map através de sua chave, utiliza-se o método lookup(). Se a chave informada não existe no Map, o X++ emitirá uma exceção. Para evitar isto pode-se usar o método exists() para testar a existência da chave antes.

Print | posted on Monday, March 19, 2007 10:10 PM | Filed Under [ X++ ]

Powered by: