本帖最后由 汪振 于 2013-3-13 10:18 编辑
http://blog.csdn.net/zj_alex/article/details/8666902- private void BtnResult_Click(object sender, EventArgs e)//Click事件
- {
- int[] sz = { 1, 2, 3, 4 };//
- int[] szCopy = sz;
- string output = "";//output
- <font color="#0000ff" size="5"> DoubleArray(sz);(引用时是否使用ref)</font>
- 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 来进行引用传递引用参数。
|