Результаты поиска по запросу "ref"

2 ответа

 нет. Тип самой локальной переменной не имеет значения - важно то, что вы не можете вернуть локальную переменную по ссылке, потому что к моменту возврата метода эта переменная уже не будет существовать. Это не тот случай, когда вы возвращаете элемент массива или поле в объекте ссылочного типа по ссылке.

бовал новый возврат ссылок C # 7. Я могу скомпилировать и построить это: public ref string MisUseRefReturn(int index) { string[] array = { "a", "b", "c", "d" }; return ref array[index]; //array[2] gets out of scope when this method returns! ...

1 ответ

 ключевое слово, за исключением того, что ref требует инициализации переменной перед ее передачей.

ходит ли упаковка / распаковка, когда метод принимает параметр out / ref для ValueType?

2 ответа

 Класс и передача в качестве ссылки не должны быть одновременно. Вызывающий метод должен заполнить некоторое место в памяти. В вашем звонке такого нет. Это будет компилировать:

от вопрос уже есть ответ здесь: Аргумент ref или out должен быть присваиваемой переменной [/questions/24828842/a-ref-or-out-argument-must-be-an-assignable-variable] 1 ответОшибка: Аргумент ref или out должен быть присваиваемой ...

ТОП публикаций

3 ответа

Надеюсь, что это дает вам альтернативное решение

могу извлечь из ref-курсора, который возвращается из хранимой процедуры (переменная OUT) и распечатать результирующие строки в STDOUT в SQL * PLUS? Хранимая процедура ORACLE: PROCEDURE GetGrantListByPI(p_firstname IN VARCHAR2, p_lastname IN ...

8 ответов

, Для правильных утверждений важно использовать правильную терминологию для обозначения понятий.

я есть объект, который находится в памяти программы, а также есть некоторые другие рабочие функции, которым я передаю объект для изменения состояния. Я передавал его по ссылкам на рабочие функции. Однако я наткнулся на следующую функцию. byte[] ...

4 ответа

Передача ссылочного типа по значению не копирует объект. Это только создает новую ссылку на существующий объект. Таким образом, вы не должны передавать его по ссылке, если вам действительно не нужно.

параметры метода могут быть ссылочными типами или типами значений. При передаче ссылочных типов передается копия ссылки. Таким образом, если внутри метода мы пытаемся переназначить переданную ссылку на другой экземпляр объекта, за пределами ...

4 ответа

 вернуть измененный экземпляр Apple?

то это работает .. public MyClass(ref Apple apple) { apple = new Apple("Macintosh"); // Works fine }Но возможно ли сделать что-то подобное? private Apple myApple; public MyClass(ref Apple apple) { myApple = apple; } public void ModifyApple() { ...

2 ответа

тогда вы увидите разницу. Первая передает ссылку на ссылку, и поэтому в этом случае панель изменяется на ваш новый объект. Во вторых, это не так.

разница между public function Foo(ref Bar bar) { bar.Prop = 1; } public function Foo(Bar bar) { bar.Prop = 1; }по сути, в чем смысл «реф». не всегда ли объект по ссылке?

7 ответов

). Для типов значений экземпляр является значением. Для ссылочных типов значение является ссылкой. Обратите внимание, что это не то же самое, что референт!

я не понял это ужасно неправильно, это поведение странно для меня. Вместо того, чтобы объяснять, я опубликую пример кода ниже и, пожалуйста, скажите мне, почему я получаю вывод x, а не y. private void button1_Click(object sender, EventArgs e) { ...

3 ответа

Как передать List <DerivedClass>, когда типом параметра является List <BaseClass>?

Как я могу передать список, который является списком DerivedObjects, где Метод ожидает список BaseObjects. Я конвертирую список.ToList<BaseClass>() и мне интересно, есть ли лучший способ. Моя вторая проблема - неправильный синтаксис. Я пытаюсь ...