日期:2014-05-17  浏览次数:21019 次

C#定义了一个int[] buff,那么ref buff[0]代表什么
C#定义了一个int[] buff = new int[100],那么ref buff[0]代表什么,是数组首地址吗?
若干要将这个数组的首地址传递给一个ref int型的参数,ref buff[0]可以传递吗吗
c# ref?int

------解决方案--------------------
c# 定义不存在地址的概念,ref buff[0]只是类似于地址指向引用表现,当你修改buff[0]里的值时,确实是修改了buff[0]指向的某一段内存里的值,如果不加ref,那么修改buff[0]指向的值,并非真正意义上修改,而是另外开一段内存保存新的值,并把新地址赋给buff[0]
------解决方案--------------------
直接传递buf[0],其实就是传递一个int变量,这样函数中使用的是变量的副本,变量本身的内容不会被改变,如果是会用ref,那就是引用传递,变量的值 会被修改