您的位置:首页 > 编程语言 > C#

C# 数组参数

2014-04-27 21:51 274 查看
在使用数组给函数传递参数的时候,是引用传递,就像C++里的一样,会改变形参的值!!!

假如有函数申明:public static double[,] InverseMatrix(double[,] origins, int row)

这样就会改变origins的值。

而且在C#,假设有double[] a;double[] b;a=b;这样也只是像C++里的指针赋值一样,改变a也会改变b!!!

例如在刚刚的函数中,如果这样复制:double[,] origin =new double[row,row];

origin = origins;

还是会改变形参origins的值!!!!

只有这样复制才行:

double[,] origin =new double[row,row];

for (int i = 0; i < row; i++)

{

for (int j = 0; j < row; j++)

{

origin[i, j] = origins[i, j];

}

}

这样才不会改变形参的值!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: