Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > List.Add()


Автор: STRELOKBMSTU 23.12.2009, 19:32
есть объект, к примеру object Obj, при добавлении его в коллекцию добавляется ссылка на него или сам объект копируется?

Код

ArrayList.Add(Obj)

Автор: tol05 23.12.2009, 19:54
ссылка в любом случае

если объект - ValueType, то сначала в куче создается объект - упакованная копия этого ValueType, а потом ссылка на эту копию помещается в ArrayList


Автор: ДобренькийПапаша 23.12.2009, 21:19
Если поместить два ListView на одну форму. В одной пользователь выбирает строку, которую хочет перекинуть во второй ListView.
Жмёт соответствующую кнопку, мы её обрабатываем:
Код

listview2.Items.Add(listview1.selecteditems[0].Text);

И получаем исключение...
Нужно сначала вызывать метод Clone() для объекта)))

Автор: tol05 24.12.2009, 12:14
ДобренькийПапаша, пример кода приведите. Или хотя бы текст исключения.

Автор: PashaPash 24.12.2009, 17:08
ДобренькийПапаша, причем тут вообще ListView?

Автор: ДобренькийПапаша 24.12.2009, 18:57
А нет, как я написал так можно, я же к свойству обратился. Исключение будет если попытаться сделать так:
Код

lisview2.Items.Add(listview1.Items[0]);


Аргумент эксэпшн:невозможно вставить или удалить и так далее...


PashaPash, иллюстрирует, что это ссылка на объект)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)