【发布时间】:2011-02-14 03:42:18
【问题描述】:
我需要了解关于 F# 的一些非常重要的事情:它如何处理引用和值。 我知道 F# 定义了不可变和可变对象,也知道其中的原因。
但有一件事我不知道:对象是如何处理的?
我的意思是,在 C# 中,一切都是指针,当将另一个对象的引用分配给一个对象时,数据是相同的,我们将有两个指针指向相同的数据。
如果我有这个,那么在 C# 中:
Object myobj1 = new Object();
Object myobj2 = myobj1;
bool myobj1 == myobj2; // It is true
那么,f# 呢?
let myvar: MyObj = new MyObj ()
let myvar2: MyObj = myvar
这里是什么情况? 作业是否涉及复制?与否。
而且,一般来说,这个主题的 f# 方法是什么? (我的意思是价值与参考)。
【问题讨论】: