Member 14479161 Ответов: 2

В этом коде переменная x принимает адрес переменной d в memeory это правильно


привет

я изучаю ключевые слова ref и out для передачи аргументов в метод so
in this code the x varible takes the address of the d varible in memeory is that correct 


    class MainProgram
    {
        public static void Main()
        {
            int x;

            Number(out x);

            Console.WriteLine(x);

            Console.ReadKey();
        }
        public static void Number(out int d)
        {
            d = 10;
            d += 2;

            Console.WriteLine(d);
        }
    }
}


Что я уже пробовал:

я посмотрел несколько видео и понял основные понятия ключевого слова ref и out

2 Ответов

Рейтинг:
14

OriginalGriff

Нет, d становится ссылкой (подумайте о указателе-на-стероидах) на x а не наоборот. Помнить, d это локальная переменная, поэтому она создается в стеке и уничтожается, когда выходит за пределы области видимости в конце содержащего метода (когда он returnс.


Рейтинг:
0

RickZeeland

Близко, но не совсем:

Цитата:
Ключевое слово out описывает параметры, фактическое расположение переменных которых копируется в стек вызываемого метода
Видеть: https://www.dotnetperls.com/out[^]