class TestArray
{
public TestArray()
{
m_bytelist = new List<byte>();
}
private List<byte> m_bytelist;
private byte[] getBytes()
{
m_bytelist.Add(12);
m_bytelist.Add(11);
m_bytelist.Add(10);
return m_bytelist.ToArray();
}
private void setBytes( byte[] buffTemp)
{
Array.Resize(ref buffTemp, 4);
buffTemp[0] = 0;
buffTemp[1] = 1;
buffTemp[2] = 2;
buffTemp[3] = 3;
foreach (byte byteTemp in buffTemp)
{
Console.WriteLine("setbyte[]:{0}", byteTemp);
}
}
public void println()
{
byte[] buffTemp = getBytes();
setBytes(buffTemp);
Array.Resize(ref buffTemp, 2);
foreach (byte byteTemp in buffTemp)
{
Console.WriteLine("byte[]:{0}", byteTemp);
}
foreach (byte byteTemp in m_bytelist)
{
Console.WriteLine("list:{0}",byteTemp);
}
}
}
输出:setBytes( byte[] buffTemp)
传递数组参数不改变原来数组的值,重新生成一份新的数组。m_bytelist.ToArray()
同样生成一份新的数组。
setbyte[]:0
setbyte[]:1
setbyte[]:2
setbyte[]:3
byte[]:12
byte[]:11
list:12
list:11
list:10
延伸:setBytes( ref byte[] buffTemp)
使用引用类型传递的是当前的数组,会改变原本的值。
setbyte[]:0
setbyte[]:1
setbyte[]:2
setbyte[]:3
byte[]:0
byte[]:1
list:12
list:11
list:10