相关疑难解决方法(0)

C#Reference和指针有什么区别?

我不太了解C#引用和指针之间的区别.他们都指向记忆中的一个地方不是吗?我能弄清楚的唯一区别是指针不是那么聪明,不能指向堆上的任何东西,免于垃圾收集,并且只能引用结构或基类型.

我问的一个原因是,有一种观点认为人们需要很好地理解指针(从C,我猜)是一个优秀的程序员.许多学习更高级语言的人都错过了这个,因此有这个弱点.

我只是不知道指针的复杂程度如何?它基本上只是对内存中某个地方的引用不是吗?它可以返回它的位置并直接与该位置的对象进行交互?

我错过了一个重点吗?

c# pointers reference

82
推荐指数
8
解决办法
4万
查看次数

C#中的引用类型

考虑以下代码:

public class Program
{
    private static void Main(string[] args)
    {
        var person1 = new Person { Name = "Test" };
        Console.WriteLine(person1.Name);

        Person person2 = person1;
        person2.Name = "Shahrooz";
        Console.WriteLine(person1.Name); //Output: Shahrooz
        person2 = null;
        Console.WriteLine(person1.Name); //Output: Shahrooz
    }
}

public class Person
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

很显然,当分配person1person2Name物业person2发生变化,Nameperson1也将改变.person1person2有相同的参考.

为什么何时person2 = null,person1变量也不会为空?

.net c# pointers

78
推荐指数
4
解决办法
6754
查看次数

标签 统计

c# ×2

pointers ×2

.net ×1

reference ×1