X++:
static void JobSortMap(Args _args)
{
Map map = new Map(TYPES::String, TYPES::Real);
MapIterator mit;
;
map.insert('10', 0);
map.insert('30', 0);
map.insert('-10', 0);
map.insert('-5', 0);
map.insert('20', 0);
map.insert('71', 0);
map.insert('7-1', 0);
map.insert('20-30', 0);
mit = new MapIterator(map);
while (mit.more())
{
info(mit.key());
mit.next();
}
}
Не давно заметили такую особенность, что при добавлении ключа типа String, который содержит в себе "тире" в Map, он не правильно его сортирует(размещает). Создается такое впечатление, что во время сортировки(размещения) в Map-e при добавлении таких вот записей он вообще "тире" не учитывает. Как будто выбрасывает, хотя ключ строит.
Результаты Job-a:
AX2009:
10
-10
20
20-30
30
-5
71
7-1
Axapta 3.0:
-10
-5
10
20
20-30
30
7-1
71
С Set-ами такая же хрень. Мне кажется в Axapta 3.0 сортировка более правильная.