我知道在创建赋值语句时,不会创建新对象,而是对该对象进行引用。例如,我想做以下事情:
word.start = newWordPos.First.Value;
word.end = newWordPos.Last.Value;
但每次更新newWordPos.First.Value
或newWordPos.Last.Value
的值时,word.start
和word.end
也会更新。有什么方法可以让它们被分配实际值,以便不会发生这种情况吗?
答案 0 :(得分:0)
由于您的类型是一个类,您需要克隆该对象,而不仅仅是分配一个引用。
类型本身需要提供一些创建深层副本的机制。该框架提供了一个接口(IClonable
),用于允许单个Clone
方法 - 虽然不清楚正在进行什么形式的克隆(即:完全深度克隆等)。