我不是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