Всем привет. Столкнулся со следующей проблемой. Имеется вот так такой кусок кода, который выполняется в цикле:
Здесь "МассивДляЗначТипаОдногоРеквТЧ" - одномерный массив из двух элементов, МассивОднаСтрокаТЧ - двумерный массив, в который добавляется массив МассивДляЗначТипаОдногоРеквТЧ при каждой итерации. При отладке я обнаружил что, что после выполнения этой строки в массиве "МассивОднаСтрокаТЧ" также очищается вложенный массив, то есть при выполнении получу 0. Никак не могу понять, как это исправить, то есть мне нужно, чтобы вложенный массив не очищался. Буду благодарен за помощь
МассивДляЗначТипаОдногоРеквТЧ = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Элемент, " - ");
МассивОднаСтрокаТЧ.Добавить(МассивДляЗначТипаОдногоРеквТЧ );
МассивДляЗначТипаОдногоРеквТЧ.Очистить();
Здесь "МассивДляЗначТипаОдногоРеквТЧ" - одномерный массив из двух элементов, МассивОднаСтрокаТЧ - двумерный массив, в который добавляется массив МассивДляЗначТипаОдногоРеквТЧ при каждой итерации. При отладке я обнаружил что, что после выполнения этой строки
МассивДляЗначТипаОдногоРеквТЧ.Очистить();
МассивОднаСтрокаТЧ[0].Количество()
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
и в первом случае у нас каждый элемент массива - это РАЗНЫЕ объекты (тоже массивы)
а во втором, каждый элемент массива - это ОДИН И ТОТ же массив,
не копии одного массива, а один и тот же.
(фактически, в массиве первого уровня лежать ссылки на один и тот же массив,
как два окна на одну и туже улицу, если вы плюните в одно окне на пешехода, то в другом будет уже тот же оплеванный пешеход)
Никак не могу понять, как это исправить
почувствуйте разницу:
м=Новый Массив;
м.Добавить(Новый Массив);
м.Добавить(Новый Массив);
м.Добавить(Новый Массив);
м.Добавить(Новый Массив);
м1=Новый Массив;
м=Новый Массив;
м.Добавить(м1);
м.Добавить(м1);
м.Добавить(м1);
м.Добавить(м1);
а во втором, каждый элемент массива - это ОДИН И ТОТ же массив,
не копии одного массива, а один и тот же.
(фактически, в массиве первого уровня лежать ссылки на один и тот же массив,
как два окна на одну и туже улицу, если вы плюните в одно окне на пешехода, то в другом будет уже тот же оплеванный пешеход)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот