标题:[求助]为什么返回一个二维数组时,对数组所做的修改不保留?
只看楼主
cobby
Rank: 1
等 级:新手上路
威 望:1
帖 子:565
专家分:0
注 册:2007-7-11
 问题点数:0 回复次数:2 
[求助]为什么返回一个二维数组时,对数组所做的修改不保留?
for (int i = 0; i < city_num; i++)
for (int j = 0; j < popsize; j++)
{
int a = 0, b = 0;
System.Random r = new Random();

a = r.Next(0, city_num-1);
b = r.Next(0, city_num - 1);
int temp;
temp = pop[j, a];
pop[j, a] = pop[j, b];
pop[j, b] = temp;
}
return pop;


我用如上代码试图打乱原二维数组的元素顺序,调试时,在return pop前显示的二维数组顺序已经被打乱了,可是return出来的pop数组却还是原来的顺序,这是为什么?怎么解决?谢谢!
搜索更多相关主题的帖子: int city temp Random num 
2007-09-25 13:23
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
得分:0 
沒看出來什麼問題

すばらしいコードを書き出すのは楽しい事です
2007-09-25 17:23
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
得分:0 
直接将数组作为参数传到方法里面,因为数组是引用类型就会改变的.不用返回也可以的.

------------------不为别的,就为你,我的理想!-----------------
2007-09-25 18:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-172740-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013875 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved