|
Копирование Массива | ☑ | ||
---|---|---|---|---|
0
zhukovia
11.04.14
✎
11:56
|
Есть задача скопировать один массив в другой, но не так как делает 1С (путем копирования ссылки), а создать Независимую копию и без перебора в цикле элементов. Отсюда вопрос. Пойдет ли такая конструкция?
<CODE> Массив = Новый Массив(); Массив.Добавить(1); Массив.Добавить(2); фМвссив = Новый ФиксированныйМассив(Массив); Массив2 = Новый Массив(фМассив); </CODE> |
|||
1
Wobland
11.04.14
✎
11:57
|
ща, минуту, кофе допью и буду проводить испытания
|
|||
2
Господин ПЖ
11.04.14
✎
11:57
|
передать в функцию по значению
|
|||
3
Ненавижу 1С
гуру
11.04.14
✎
12:00
|
(0) в последнем операторе ошибка
|
|||
4
zhukovia
11.04.14
✎
12:00
|
(2) А это как?
|
|||
5
zhukovia
11.04.14
✎
12:00
|
(3) Орфографическая?
|
|||
6
Ненавижу 1С
гуру
11.04.14
✎
12:01
|
(2) не взлетит
(5) смысловая, конструктор массива принимает в качестве аргументов только целые числа |
|||
7
zhukovia
11.04.14
✎
12:02
|
(6) У меня работает. Может это из за 8.3? Забыл про это написать.
|
|||
8
Господин ПЖ
11.04.14
✎
12:02
|
(4) функция блабла(Знач массив)
|
|||
9
zhukovia
11.04.14
✎
12:03
|
Вот так у меня
Массив = Новый Массив(); Массив.Добавить(1); Массив.Добавить(2); фМассив = Новый ФиксированныйМассив(Массив); Массив2 = Новый Массив(фМассив); |
|||
10
zhukovia
11.04.14
✎
12:04
|
(8) А как это поможет копию создать? Мне не передать а скопировать надо. В текущей Прцедуре.
|
|||
11
zhukovia
11.04.14
✎
12:06
|
(9) Вроде работает. Вот только как проверить не ссылка ли копируется и не становится ли исходный массив неизменяемым?
|
|||
12
Ненавижу 1С
гуру
11.04.14
✎
12:06
|
(10) никак не поможет
(10) можно еще в список значений загрузить, а потом выгрузить ВыгрузитьЗначения() Возвращаемое значение: Тип: Массив. Описание: Создает массив и копирует в него значения элементов списка значений. Доступность |
|||
13
Господин ПЖ
11.04.14
✎
12:06
|
(10) ну если прямо копия тогда конечно нет
|
|||
14
Господин ПЖ
11.04.14
✎
12:07
|
(11) удали элемент в одном, проверь кол-во в другом
|
|||
15
zhukovia
11.04.14
✎
12:07
|
(12) Выгрузить-Загрузить мне кажется по времени дольше будет чем перебор.
|
|||
16
Ненавижу 1С
гуру
11.04.14
✎
12:07
|
(11) наверное попробовать изменить элемент массива и проверить
Массив[0] = 100; Если Массив[0]=Массив2[0] Тогда //ссылаются на одно и тоже Иначе //разные объекты |
|||
17
zhukovia
11.04.14
✎
12:07
|
(14) Я изменял и вроде все хорошо.
|
|||
18
Господин ПЖ
11.04.14
✎
12:09
|
(17) ну тогда радуйся
|
|||
19
zhukovia
11.04.14
✎
12:10
|
(16) А это разве не значения сравниваться будут?
|
|||
20
zhukovia
11.04.14
✎
12:14
|
(18) Т.е. получается такая недокументированная особенность. Так гораздо быстрее большие массивы копировать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |