|
-1 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 30
|
||||||
Копия структуры меняется при изменении оригинала18.07.2016, 15:59. Показов 3174. Ответов 23
Метки нет (Все метки)
Есть структура. Хочу сделать ее резервную копию, создаю структуру такого же типа и присваиваю ей значение первоночальной структуры. Далее провожу действие, которое меняет первоночальную структуру, однако, при проверке, обнаруживается, что "резервная" структура тоже меняется. Структура же не ссылочный тип, почему так происходит?
0
|
||||||
| 18.07.2016, 15:59 | |
|
Ответы с готовыми решениями:
23
Если объект копируется по ссылке, то почему копия сохраняется при обнулении оригинала? Полноценная копия сайта с отвязкой от зависимостей (от оригинала) При решении блоком Given/Find не меняется результат при изменении приближенных значений |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 18.07.2016, 15:59 | ||
|
Если у вас в первоначальной структуре есть поле ссылочного типа и вы изменяете свойство этого объекта, то изменения будут видны везде.
0
|
||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 18.07.2016, 16:14 | |
|
NikitaLitvinkov, покажи весь код, начина я объявления структуры
0
|
|
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|
| 18.07.2016, 16:15 | |
|
field это ваша структура?? на класс похоже больше...
0
|
|
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
||||||
| 19.07.2016, 00:00 | ||||||
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 19.07.2016, 02:06 | |
|
DataPlanner, если верить автору, то у него структура, так что Clone с такой реализацией — это равносильно обычному присваиванию.
С той разницей, что при обычном присваивании нет упаковки.
0
|
|
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
|||||||
| 19.07.2016, 03:02 | |||||||
0
|
|||||||
|
14315 / 9401 / 1355
Регистрация: 21.01.2016
Сообщений: 35,455
|
|
| 19.07.2016, 04:48 | |
|
DataPlanner, структура полностью копируется при простом присваивании (a = b), для этого подобных телодвижений (страшных) сотворять не нужно.
Ждём ответа ТС о содержимом структуры. Очень вероятно, что у него есть поле ссылочного типа. Добавлено через 2 минуты Либо вообще не структура используется
0
|
|
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|
| 19.07.2016, 08:56 | |
|
шел второй день ожидания кода структуры
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 19.07.2016, 10:06 | ||
|
Представленный товарищем DataPlanner код сериализации клонирует (почти) весь граф объектов.
0
|
||
|
14315 / 9401 / 1355
Регистрация: 21.01.2016
Сообщений: 35,455
|
|
| 19.07.2016, 10:26 | |
|
kolorotur, я это понимаю. Но это решение всё равно не очень элегантно
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 19.07.2016, 10:29 | ||
|
К сожалению, в дотнете отсутствуют готовые средства для элегантного глубокого клонирования
0
|
||
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|||||||||||
| 19.07.2016, 16:29 | |||||||||||
|
Ребят можете объяснить о чем вы гутарите, что-то я не уловил )
написал структуру
Две переменные ссылочного типа , и функцию на изменения их . в самой программе :
Собственно создал , сделал копию, поменял копию , вывел , получил => Структура st :5465 12345 Структура st2 :5465 12345 Структура st :5465 12345 Структура st2 :---- 00000
0
|
|||||||||||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||||||||
| 19.07.2016, 16:59 | ||||||||||||
Добавлено через 3 минуты А вот если мы заменим в структуре объект класса Foo на переменную int:
0
|
||||||||||||
|
|
||
| 19.07.2016, 17:07 | ||
|
0
|
||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||
| 19.07.2016, 17:18 | ||
|
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||||
| 19.07.2016, 18:01 | ||||||||
Ссылку, не сам массив.
0
|
||||||||
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|||||||
| 19.07.2016, 18:06 | |||||||
Добавлено через 1 минуту а, всё, дошло. Таки да, ссылку. Добавлено через 45 секунд я оператором new просто создавал новый массив. Туплю, пора домой.
0
|
|||||||
|
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
|
|||||||||||
| 20.07.2016, 09:07 | |||||||||||
|
А понял... в моем примере все норм было потому что я массив новый делал....
А что за "прибабах" у стринга такой ?
0
|
|||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 20.07.2016, 09:44 | |
|
0
|
|
| 20.07.2016, 09:44 | |
|
Помогаю со студенческими работами здесь
20
DataViewRowState не меняется при изменении в DataGrid При изменении DataTable не меняется RowState Меняется стиль при изменении класса Не меняется дата при изменении времени При изменении одного ресурса, меняется второй. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|