【问题标题】:Does MemberwiseClone in C# do the same as = in Javascript when copying objectsC# 中的 MemberwiseClone 在复制对象时是否与 Javascript 中的 = 相同
【发布时间】:2016-03-25 16:49:57
【问题描述】:

真的很抱歉再次提出这样一个菜鸟问题,但我很难理解我在网上找到的答案,我只需要确定......

我正在将一些 Javascript 转换为 C#,而 JS 中的一件事就是这一行

this.shared.cascade.stage_classifier[i].orig_feature = this.shared.cascade.stage_classifier[i].feature;

现在特征实际上是一个特征数组,每个特征都包含许多整数数组...

但是,当我在 C# 中使用同一行时(已为包含各种整数数组的功能创建了必要的类 inc 类),上述整数似乎都没有任何值...

所以基本上我只是在使用 C# 中需要使用的等价物将“feature”复制到“orig_feature”并让它做同样的事情(即当 JS 中“feature”中的值发生变化时,我很确定他们'orig_feature' 也会发生变化,但我不确定反之亦然)

未经编辑:原来我的代码出了问题,所以我删除了我放在这里的示例,对此感到抱歉!

【问题讨论】:

    标签: javascript c# arrays


    【解决方案1】:

    赋值运算符在两种语言中的作用相同,它将数组引用从feature 属性复制到orig_feature 属性。

    只有一个数组,有两个对它的引用。当您使用一个引用更改数组时,您将在使用另一个引用访问它时看到更改。

    没有“原始”参考,因此两种方式都一样。

    【讨论】:

      猜你喜欢
      • 2014-06-24
      • 2016-10-26
      • 2013-03-11
      • 2012-05-08
      • 2011-12-22
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多