C#中数组作为函数参数的传递方式
1: private void TestFun(Byte[] Temb)
2: 3: { 4: 5: Temb[0] = 20; 6: 7: byte[] TemBB = { 8, 9, 10, 11 };
8: 9: Temb = TemBB; 10: 11: } 12: 13: private void button1_Click(object sender, EventArgs e)
14: 15: { 16: 17: Byte[] TemBa = { 1, 2 }; 18: 19: TestFun(TemBa); 20: 21: Debug.WriteLine(TemBa[0]); 22: 23: }会输出20
说明数组作为一个传递的参数,可以在调用的函数中改变数值的元素的值
但是如果new 的话,不能影响原始的数组
说明传递是一个按值传递的,而且传递的是地址!!!!!
本质来说还是按值传递,而不是引用传递
可以通过ref参数来引用传递

浙公网安备 33010602011771号