14.07.2014, 16:36 | #1 |
Участник
|
Проверка есть ли переменная среди значение контейнера
Здравствуйте! Вот допустим есть у меня контейнер. там определенные значение лежат.
Пробегая циклом я хочу проверять есть ли текущее значение counter среди значений контейнера, если есть то выводить сообщение. Там где стоят знаки вопроса я не знаю как сравнить counter со значениями контейнера. Я пришел из SQL поэтому хотел написать "where counter in " но не получилось. static void Intro_For(Args _args) { Container names = [1, 5,8, 11]; Counter counter; ; for (counter=1; counter in ????; counter++) { info(strFmt("%1", counter)); } } |
|
14.07.2014, 16:41 | #2 |
Axapta
|
|
|
14.07.2014, 17:06 | #3 |
Участник
|
Цитата:
Если нужно выводить только те значения, которые уже хранятся в контейнере, почему нельзя прочитать эти значения напрямую из контейнера, а не перебирать какой-то счетчик, ожидая его совпадения с нужным значением? Опишите лучше реальную задачу, а то пример получился уж чересчур искусственным. |
|
14.07.2014, 17:23 | #4 |
Участник
|
Если я правильно понял - нужно найти, входит ли заданное число в контейнер или нет. Я эту задачу реализовал так:
X++: container realVal = [20,21,22,23,43,44,46,47,48,50]; for(i=0;i<lastColumn;i++) { if (confind(realval,i)) { info(strFmt("emelent %1 fround in container", i)); } } |
|
|
За это сообщение автора поблагодарили: at5454 (1). |
14.07.2014, 20:13 | #5 |
Участник
|
Цитата:
А если тип данных одинаковый, то значит надо применять класс Array.
__________________
// no comments |
|
15.07.2014, 07:37 | #6 |
Участник
|
Чтобы при обходе контейнера не выйти за его границы? - Обязательно нужно.
Но нужно ли обходить контейнер? - Условия задачи мягко говоря не ясны. Вполне возможно, что и Set подойдет. Все зависит от реальных условий задачи. Последний раз редактировалось S.Kuskov; 15.07.2014 в 07:46. |
|
15.07.2014, 09:46 | #7 |
Участник
|
спасибо всем. очень помог совет USER_AX как раз именно то что я хотел
|
|