![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| 4YBAK |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
Проблема в том, что метод с какого-то х*на в результате своей работы меняет исходные значения в матрице RG. Хотя значение в него передается бай валуе, и исходная матрица меняться не должна.
Т.е. работает так, как если б я написал
|
||||
|
|||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
Исходники давай.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Почему "by value" ? Аргументы, являющиеся ссылочными типами, ВСЕГДА передаются по ссылке (даже если не указан модификатор ref). А массив - это ссылочный тип. -------------------- ![]() |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
Мега полезный форум!!! Стоко нового узнаю! Дак как же мне передать массив не по ссылке, а по значению... Чтоб исходную матрицу не затереть? Не, можно конечно городить огород, типа просто завести еще матрицу RGSAVE, и зафигарить в нее значения из матрицы RG. RG затрется, RGSAVE останется. Но может есть способ проще? Кстати, не решится ли проблема, если поменять переменную RG в методе Metod на какую-нить другую? Т.е. заменить public double[] Metod(double[,] RG,double[] P,int n) на public double[] Metod(double[,] RG1,double[] P,int n) |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
А какие проблемы-то
|
|||
|
||||
| Illuminaty |
|
|||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 1 Всего: 56 |
Вызывай так:
Удачи! |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
||||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
А ты как думал
|
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
У меня ниче нигде не реализовано, а код Z = Metod((double[,])RG.Clone(), (double[])P.Clone(), 5) работает Или ICloneable по умолчанию реализуется? |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Не ты его должен реализовывать, а объект, который тебе хочется скопировать. То есть в данном случае массив реализует ICloneable. Советую всё-таки прежде чем начинать что-то писать, почитать хорошую литературу (например, Троелсена).
|
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |