Хорошо, это может быть действительно глупый вопрос, но я буду рисковать своим представителем. Я довольно новичок в программировании, так что успокойся. Ya;) Итак, я только что попал в TCP, когда столкнулся с чем-то, чего я не совсем понял. Конкретно:Общие методы, которые перезаписывают параметры без ссылки?
int length = Socket.Receive(MyByteArray);
В моем понимании этот метод возвращает длину данных неоспоримый получил и записывает данные в ПОЛУЧАЛИ мой массив байт. Итак, как он записывается в мой байтовый массив, не говоря мне об этом? После некоторых исследований я узнал, что вы можете использовать ссылки, чтобы делать такие вещи, но этот метод не требует «ref MyByteArray», который оставляет меня озадаченным. Это другой метод или это то, что происходит внутри метода (duh)?
Заранее благодарен вам, что вы удивительный человек.
Проведите некоторое исследование ссылочных типов и типов значений. Массивы являются ссылочными типами, поэтому, когда вы передаете один из функций, он имеет _reference_ для фактического объекта и может изменять его свойства. –
Вы говорите ему, чтобы записать в ваш массив байтов, передав в него массив байтов. –
Без объяснения _why_, легко проверить самостоятельно _that_ он работает: http://ideone.com/HrLDZ3 – CompuChip