您的位置:首页 > 职场人生

黑马程序员-通过“值”和通过“引用”传递引用参数

2013-03-13 10:10 141 查看
---------------------- Windows
Phone 7手机开发、.Net培训、期待与您交流!
----------------------

直接上代码:

private void BtnResult_Click(object sender, EventArgs e)//Click事件
{
int[] sz = { 1, 2, 3, 4 };//
int[] szCopy = sz;

string output = "";//output

DoubleArray(sz);

for (int i = 0; i < sz.Length; i++)
{
output += " " + sz[i];
}
lab1.Text = output;

if (sz == szCopy)
{
lab1.Text += "\r" + "sz没有发生改变一样";
}
else { lab1.Text += "\r" + "不一样了,sz发生了改变"; }
}

void DoubleArray(int[] a)//不用ref
{
for (int i = 0; i < a.Length; i++)
{
a[i] *= 2;
}
a = new int[] { 11, 12, 13, 14 };
}

void DoubleArray(ref int[] a)//使用ref
{
for (int i = 0; i < a.Length; i++)
{
a[i] *= 2;
}
a = new int[] { 11, 12, 13, 14 };
}

区别有和没有ref 的区别:大多数情况下, 总是期望防止改变调用者的引用,如果确实需要改变,则用过ref 来进行引用传递引用参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: