我正在为初学者读一本关于C#的书,而我正处于"理解价值观和参考资料"这一部分,但有一些我不理解的东西.我所看到的是,书籍试图向我解释这一点(我已经在Youtube的几个教程视频中看到了这一点),该类正被用来创建一个对象(? ?)班级.我已经阅读了整个前一章,其中也发生过这种情况,我不太明白它,假设在下一章中会更清楚.它没有变得更加清晰,所以我不认为继续直到我理解我之前解释过的东西的概念为止.
以下部分是本书的一部分:
请记住,要初始化引用变量(如类),可以创建类的新实例并将引用变量分配给新对象,如下所示:
Circle c = new Circle(42);
Circle copy = new Circle(99);
//Circle refc = c;
...
copy = c;
Run Code Online (Sandbox Code Playgroud)
我可以用这个例子中的代码做什么,为什么它很方便?示例+解释将非常受欢迎.提前致谢!
通过它的声音,你还没有得到这本书解释的内容:
下面的眼睛读取2个圆圈大小为3和4,并取第一个副本,并使其为5 ..除非你打印出来,这不是它的工作原理.
class Program
{
static void Main(string[] args)
{
circle a = new circle(3);
circle b = new circle(4);
circle d = a;
d.Diameter = 5;
Console.WriteLine("a is {0}", a.Diameter); // shows 5
Console.WriteLine("b is {0}", b.Diameter); // shows 4
Console.WriteLine("d is {0}", d.Diameter); // shows 5
}
}
class circle
{
public int Diameter;
public circle(int d)
{
Diameter = d;
}
}
Run Code Online (Sandbox Code Playgroud)
因为你没有为d创建一个新的圆圈,实际上d是a的别名,所以,正如某人的名字是Peter,他也可以被称为Pete.
请记住,要初始化引用变量(如类),可以创建类的新实例并将引用变量分配给新对象,[sic]
他展示了参考和价值类型之间的差异.使用值类型,它已经初始化.
double d;
您不必再做任何事情了.对于类或引用类型,您必须为其提供对象的实例.
Circle c; 尚未分配对象.
d = c.Radius 错误.引用未指向对象.内存访问冲突.
Circle c = new Circle(); 现在确实如此.