我不是socket编程老手,所以在分析代码,我在一个数据库API发现我碰到这个代码就通过引用传递没有ref关键字
public static void WriteInt(int i, NetworkStream bufOutputStream)
{
byte[] buffer = new byte[IntSize];
WriteInt(i, buffer, 0);
bufOutputStream.Write(buffer, 0, buffer.Length);
}
public static void WriteInt(int i, byte[] byte_array, int pos)
{
byte_array[pos] =(byte)(0xff & (i >> 24)); byte_array[pos+1] = (byte)(0xff & (i >> 16)); byte_array[pos+2] = (byte)(0xff & (i >> 8)); byte_array[pos+3] = (byte)(0xff & i);
}
我了解位移了我不明白的是'缓冲区'var在参数中没有任何参考或者没有返回时如何保持获得值。该位移是以某种方式编辑缓冲区的实际值?
另请参阅http://stackoverflow.com/questions/2058161/do-you-need-the-ref-or-out-parameter/2058320#2058320 – 2010-01-20 19:28:44