Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2018, 00:46   #1
NikitaPuper
Новичок
Джуниор
 
Регистрация: 20.03.2018
Сообщений: 1
По умолчанию Непонятное поведение обобщения метода

В первом случае в консоль выводится цифра 6, а во втором - 1. Не понимаю почему это происходит, метод не возвращает ни каких значений, но при этом в первом случае как-то изменяет переменную из вне. Объясните, пожалуйста, что происходит
Изображения
Тип файла: png 1.png (18.4 Кб, 98 просмотров)
Тип файла: png 2.png (9.2 Кб, 96 просмотров)
NikitaPuper вне форума Ответить с цитированием
Старый 20.03.2018, 01:49   #2
ZnZ
Пользователь
 
Регистрация: 14.06.2017
Сообщений: 45
По умолчанию

Когда в метод передаётся просто переменная, то под неё выделяется новая память, а когда передаёте массив, то передаётся указатель, таким образом вы напрямую работаете с переданным массивом. Что бы лучше это понять, почитайте про массивы в c++, потому что c++ тесно дружит с адресами памяти

Последний раз редактировалось ZnZ; 20.03.2018 в 01:52.
ZnZ вне форума Ответить с цитированием
Старый 20.03.2018, 07:31   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

во втором случае параметр c нужно сделать ref
pu4koff вне форума Ответить с цитированием
Старый 20.03.2018, 08:43   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
во втором случае параметр c нужно сделать ref
или out
Black Fregat вне форума Ответить с цитированием
Старый 20.03.2018, 10:05   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
или out
Ну, да. Конкретно в данном случае out будет правильнее.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятное поведение указателя frommars Общие вопросы C/C++ 1 08.10.2012 15:27
Непонятное поведение программы Bonifacyi Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2011 14:10
Непонятное поведение алгоритма master_root Общие вопросы Delphi 3 11.06.2008 14:32