【发布时间】:2013-08-04 11:22:58
【问题描述】:
英语不是我的母语,我是中国人。如果我不能清楚地表达我的想法,我会很抱歉。
我以前用 c++ 编程。我真的不明白C#的参考。很多人告诉我 引用类似于c++中的指针。如下图
Person Foo = new Person(); // C#
Person *Foo = new Person(); // C++.
很多时候它运行良好。虽然许多 C# 编码人员也告诉我,类的实例只是 Foo.Foo 有 name.whiched 称为 Foo.name.Foo 有年龄,称为 Foo.age。看来 思想更容易用于编码。但是这种思想不符合Memory模型。
请告诉我 c# 中的引用是什么。一个对象,或者更可能是一个指针?谢谢。
【问题讨论】:
-
在 C++ 中,使用
.访问对象的成员,->通过指针访问对象的成员,::访问静态成员。在 C# 中,您只需使用.即可。这并不意味着引用在某种程度上是“特殊的”。在引擎盖下它仍然只是一个地址(一个指针),该语言只允许您使用.C++ 需要->
标签: c# reference memory-model