【问题标题】:How do i fix this code? C# Ptr to a struct我该如何修复此代码? C# Ptr 到结构
【发布时间】:2010-05-05 13:19:47
【问题描述】:

您可能知道,墙矩形不会更新,因为它是副本而不是参考。有没有办法让我引用或指向 r 而不会更改此代码?我想我可以在函数中进行查找/替换,但我尽量不这样做。

//code to get wall
var r = wall.r;
//more code
r.Height += yDif;

【问题讨论】:

  • 我很难理解这个问题。什么是“墙”?

标签: c# struct


【解决方案1】:

它不会起作用,你已经知道为什么了。避免复制或简单地存储副本:

//more code
r.Height += yDif;
wall.r = r;

【讨论】:

    【解决方案2】:

    这当然需要一个 setter。

    //code to get wall
    var r = wall.r;
    //more code
    r.Height += yDif;
    wall.r = r;
    

    【讨论】:

    • 我可以重新设置一下。没有 if(blah) 返回;并且它总是更新。 ok 标记为已接受。
    【解决方案3】:

    你为什么不直接更新墙矩形?

    //code to get wall
    var r = wall.r;
    //more code
    wall.r.Height += yDif;
    

    【讨论】:

      猜你喜欢
      • 2016-03-05
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多