Ссылка на объект в памяти и указатель это одно и тоже? - C#
Формулировка задачи:
Разобрался со смыслом различий значимых типов и ссылочных типов, а так же с особенностями их передачи через ref и out.
Но не понятно что из себя представляет сама ссылка.
Если указатель - это переменная, содержащая адрес ячейки памяти, в которой хранится или "начинает хранится" объект.
Ссылка указывает на объект, хранящийся в памяти, каким образом? Логически получается что она указывает на адрес ячейки памяти и хранит в себе адрес ячейки памяти на этот объект. Таким образом, получается что ссылка = указатель?
Кроме того, при передачи в качестве аргумента значимого типа (int i = 5) через ref должна передаваться ссылка на этот объект. Значимый тип хранится в стеке, при передачи его в качестве аргумента создается ссылка на этот объект, которая фактически является указателем (содержащим адрес ячейки памяти), которая сохраняется так же в стеке?
Решение задачи: «Ссылка на объект в памяти и указатель это одно и тоже?»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
MyClass1.i = MyClass2.y;
MyClass2.y = 33;
Console.WriteLine(MyClass1.i);
Console.ReadLine();
}
}
public static class MyClass1
{
public static int i = 5;
}
public static class MyClass2
{
public static int y = 10;
}