![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]()
Здравствуйте.
Почему если список (List) 1 сделать равным списку 2, а потом очистить список 2, то и список 1 тоже очищается? Вот что у меня на практике: Имеется код Изначально списки thirdSpreadX и thirdSpreadX пусты. После присвоения в них по восемь членов. Потом мы обнуляем списки firstSpreadX и firstSpreadY, к которым были приравнены первые. То же самое мы проделываем с переменной zeroPoints2 – изначально она была равна нулю, потом ее приравняли к переменной zeroPoints, и они обе стали равными нулю. Потом переменная zeroPoints обнуляется. И далее начинается проблема: после действий выше списки thirdSpreadX и thirdSpreadX тоже очищаются, хотя переменная zeroPoints2 сохраняет свое значение. И закономерно возникает ошибка. Почему в списка не сохраняется содержимое? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
всё что class, это ссылочный тип данных.
делая list2=list1 вы меняете лишь ссылку, вы не создаете нового объекта. итого список у вас лишь один. ссылка это как бумажка с вашим домашним адресом, бумажек может быть много, но вы же один? ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]()
А как сделать так, чтобы создался новый объект? С помощью цикла for каждый отдельно добавить в требуемый список?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у List есть конструктор принимающий перечислимое(IEnumerable)
Код:
и создавайте темы по C# в этом разделе, пожалуйста. вы хоть и учитесь, но не похоже на задачки от студентов. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 22.09.2016 в 18:09. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Если надо скопировать содержимое, то можно например
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#6 | ||
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]()
Спасибо большое за ответы.
Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Вполне похоже. Но в том разделе 99% тем от унылых халявщиков просящих решить за них, поэтому да, лучше не лезть в ту помойку
![]()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Списки | ant93 | Общие вопросы C/C++ | 0 | 29.05.2013 15:54 |
Списки | sanchoflat | Общие вопросы C/C++ | 0 | 29.09.2012 23:13 |
Списки | Fryg | HTML и CSS | 1 | 10.12.2011 18:38 |
Списки | Mr_skiner | Общие вопросы Delphi | 2 | 20.04.2011 08:51 |