Zwei Maps zu einer zusammenführen

Vor kurzem wollte ich zwei Maps zu einer zusammenführen, habe dafür aber keine geeignete Funktion gefunden, deshalb habe ich mir die folgende selbst geschrieben.

private Map mergeMaps(Map _map1, Map _map2)
{
    Map retMap;
    MapEnumerator mapEnum;
    // Initate first map from second map if empty
    if( !_map1)
    {
        _map1 = new Map(_map2.keyType(), _map2.valueType());
    }
    // Check compatibility
    if(_map1 && _map2)
    {
        if(_map1.keyType() != _map2.keyType() || _map1.valueType() != _map2.valueType())
        {
            throw error(Error::wrongUseOfFunction(funcName()));
        }
    }

    retMap = _map1;
    mapEnum = _map2.getEnumerator();
    while(mapEnum.moveNext())
    {
        if( !retMap.exists(mapEnum.currentKey()))
        {
            retMap.insert(mapEnum.currentKey(), mapEnum.currentValue());
        }
    }
    return retMap;
}
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
April 2024
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu