Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 26.02.2010
Сообщений: 13

При работе с экземплярами класса его списки обнуляются

30.10.2012, 03:19. Показов 833. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Прошу помощи с решением следующей проблемы.
есть класс:
C#
1
2
3
4
5
6
7
8
public class TreeNode
        {
            ...
            private string name;          
            private List<string> exists = new List<string>();
            private List<int> countofexists = new List<int>();        
            ...   
        }
есть некоторые списки (объявлены глобально)

C#
1
2
List<string> list = new List<string>();
List<int> count = new List<int>();
c которыми выполняются некоторые действия. После действий листы передаются конструктору для создания экземпляра класса:

C#
1
TreeNode tr = new TreeNode(Name, list, count);
после этого списки :

C#
1
2
count.Clear();
list.Clear();
и вот теперь если обратиться к экземпляру TreeNode который создавался при помощи этих списков выяснится, что его списки тоже занулились.
Как от этого избавиться?
Как я понял - в объектах просто создалась ссылка на count и list.... Но как с этим бороться я не знаю...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2012, 03:19
Ответы с готовыми решениями:

Проблема с экземплярами класса
Только начал изучат данный язык, по этому прошу прощения за глупый вопрос. Собственно проблема с экземплярами класса, я видимо что то не...

Работа с экземплярами класса
Решение задания никак не доходит, пожалуйста, помогите советом. :help: Имеется класс Computer и экземпляры класса Comp1, Comp2, Comp3 и...

Работа с экземплярами класса
Здравствуйте, уважаемые форумчане. Мне нужно переписать программу без использования структур. Я думал, что классы и структуры это одно и...

2
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
30.10.2012, 06:57
Цитата Сообщение от ael Посмотреть сообщение
Как я понял - в объектах просто создалась ссылка на count и list.... Но как с этим бороться я не знаю...
Да вы правы. Как бороться:
1. создать новые List'ы при передаче, и добавить туда все элементы при передаче.
2. Не вызывать Clear, а создавать новые List'ы.
1
Не осилил Linux
 Аватар для =OutlaW=
267 / 61 / 6
Регистрация: 06.08.2009
Сообщений: 223
30.10.2012, 13:44
например так
C#
1
TreeNode tr = new TreeNode(Name, list.ToList(), count.ToList());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2012, 13:44
Помогаю со студенческими работами здесь

Передача события между разными экземплярами одного класса
Подскажите, как правильнее организовать... Есть 2 сущности одного класса. При этом, в БД это одна строка. Т.е. они инициализированы 2...

Работа с экземплярами класса
Доброго времени суток. Конкретное задание не привожу, ибо разбираться хочется самому. Но один из основополагающих моментов мне...

Работа с экземплярами класса
Всем привет. Извините за прошлый раз я неправильно создаль тему. Вот. Перейду к проблему. Создал класс class myclass{ public $list;...

Ошибка при работе с объектом класса в конструкторе другого класса
Имеется данный код: https://github.com/ubelian/glgame/tree/master/glgame В файле Food.cpp в конструкторе класса Food::Food() на 19...

Panel c контролами как экземплярами класса
Здравствуйте. Помогите пожалуйста - не получается написать класс панели с контролами чтобы потом работать с эклемплярами примерно так:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru