Я недавно натолкнулся на какой-нибудь сторонний код C #, который выполняет следующее:
public int RecvByteDataFromPrinter(ref byte[] byteData)
{
byte[] recvdata = new byte[1024];
///...fills recvdata array...
byteData = recvdata;
return SUCCESS;
}
Что на самом деле делает в этом случае строка "byteData = recvdata
"?
Похоже, что цель состоит в том, чтобы byteData содержал содержимое массива recvdata. Однако у меня сложилось впечатление, что вам нужно будет выполнить операцию Array.Copy(...)
, чтобы это произошло.
Действительно ли это изменяет ссылку на byteData, чтобы она указывала на вновь выделенный массив? Если это так, гарантируется ли сохранение этого массива?