|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.11.2013, 19:30 | #1 |
Регистрация: 19.07.2013
Сообщений: 5
|
Передача параметров TreeNode и XmlNode
Я, по большей части, программист C++ и Delphi.
Сейчас активно занялся C#, поэтому следующий вопрос для меня остаётся непонятным. Предположим следующий код. Изменение вытащенного из XmlDocument'а XmlNode'а влияет на документ: Код:
Код:
Код:
Так в чем разница и когда можно использовать такой странный способ изменения объектов, а когда нет? И как это работает, передаются указатели или что? Заранее спасибо за ответ |
06.11.2013, 19:48 | #2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
с чего тут копия, и в каком языке вы видели копию?
|
06.11.2013, 19:52 | #3 |
Регистрация: 19.07.2013
Сообщений: 5
|
Предположим, такой код C++:
Код:
string c = a переносит значение a в c. И такой код C#: Код:
|
06.11.2013, 19:56 | #4 | ||
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
так и в шарпе также
Цитата:
Цитата:
|
||
06.11.2013, 19:58 | #5 |
Регистрация: 19.07.2013
Сообщений: 5
|
Ну конкретно с подобными объектами в других языках не работал, поэтому извиняюсь за глупый вопрос.
Так что, всегда, когда я получаю объект TreeNode, ListViewItem или XmlNode, я получаю что-то вроде указателя на этот объект в общем документе \ списке \ таблице? А что делать, если я хочу получить копию объекта и работать с ним, не затрагивая документ? |
06.11.2013, 20:01 | #6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
естественно клонировать надо, руками, ктото имеет уже метод Clone, но не все
|
06.11.2013, 20:02 | #7 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
06.11.2013, 20:06 | #8 |
Регистрация: 19.07.2013
Сообщений: 5
|
|
06.11.2013, 20:23 | #9 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
это указатель, в шарпе они есть ... но ими пользуются только если ооооч надо
в делфи все точно также |
06.11.2013, 21:39 | #10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Вам нужно просто почитать про ссылочные типа и типы "по значению" в сишарпе. В инете вагон статей по данному вопросу.
Все простые типы - передаются по значению, и если они используются как аргументы - то делается копия. Строки - специальная саментика, они хоть и не простые типы, но передаются тоже по значению. Также структуры передаются по значению. Все остальные типы - объекты, интерфейсы, делегаты и прочее - типы ссылочные и передаются всегда по ссылке. В дельфи, кстати, всё практически точь-в-точь также. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача параметров в макрос | masterbet | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 28.12.2011 11:07 |
Передача параметров | _Mixer_ | Общие вопросы по Java, Java SE, Kotlin | 0 | 22.09.2011 20:17 |
Передача параметров в DLL | -Flasher- | Общие вопросы Delphi | 2 | 04.06.2010 18:05 |
Передача параметров | aesoem | Общие вопросы Delphi | 8 | 15.07.2008 21:51 |
Передача параметров | Gudzon | Общие вопросы Delphi | 12 | 08.02.2007 08:19 |