Visual Basic задает максимальную границу массива вместо длины массива (массивы начинаются с индекса 0), поэтому ваше преобразование добавило дополнительный байт.Однако в вашем коде правильный путь будет таким:
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];
Если вы получите неправильные результаты, сообщите нам, что именно не так.Может быть, это другая часть кода.
Редактировать: Удалить \ 0, как это:
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];
int bytesRead = networkStream.Read(bytes, 0, tcpClient.ReceiveBufferSize);
// Output the data received from the host to the console.
string returndata = Encoding.ASCII.GetString(bytes,0,bytesRead);
Редактировать: Еще лучше читатьданные в пакетах, поэтому вам не нужно резервировать большой буфер заранее:
byte[] bytes = new byte[4096]; //buffer
int bytesRead = networkStream.Read(bytes, 0, bytes.Length);
while(bytesRead>0)
{
// Output the data received from the host to the console.
string returndata = Encoding.ASCII.GetString(bytes,0,bytesRead);
Console.Write(returndata);
bytesRead = networkStream.Read(bytes, 0, bytes.Length);
}