![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Допустим, есть класс Class1, и в нем поле field1, и есть функция
Вот вопрос. Когда функции передается параметр фактический, например someobj, то это значение подставляется в функцию, и полю этого объекта присваивается значение. Но почему присваивается именно реальному объекту, ведь вроде ob существует внутри функции, это внутренняя переменная? -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: нет Всего: 9 |
С объектами тут всё немного не так, как с переменными
Вот, кажется так:
хотя я в C# и не силён, но в принципе, когда ты создаёшь переменную типа класса, то создаётся ссылка на объект, а не сам объект, а при передачи ссылке в качестве аргумента, изменяется и сам аргумент. Т.е. получается, что и аргумент и параметр ссылаются на один и тот же объект. Это сообщение отредактировал(а) taiven - 1.9.2008, 21:31 |
|||
|
||||
| 1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 3 Всего: 40 |
taiven, что по-твоему выведется на консоль?
motorway, прочитай про передачу параметров по ссылке и по значению: прочитай меня -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
| taiven |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: нет Всего: 9 |
И, что ты этим хочешь сказать? На консоль выведется 12345 и 12345. а если убрать вот это:
из функции Func, то на консоль выведется 12345 и 54321, что и требовалось доказать. Это сообщение отредактировал(а) taiven - 1.9.2008, 23:03 |
||||
|
|||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: 1 Всего: 2 |
Может немного не в тему, но имхо правильнее делать так:
Извините за громоздкость использования WinForms, но просто среды разарботки под рукой нету, пришлось писать в блокноте что смог на память. А так вообще была идея изначально показать пример не с заголовком окна, а с заголовком консоли... Это сообщение отредактировал(а) EgoBrain - 3.9.2008, 13:45 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |