是C#get属性按值或引用返回

时间:2018-04-11 03:53:34

标签: c# properties godot

我想知道在对象上使用C#的get属性返回什么内容,它是引用还是该属性分配给的副本?

根据我的理解,它实际上是返回副本而不是引用。对于下面的代码,我需要第4行来使Position工作(Position是基类的属性)

    Vector2 position = Position;
    position.x = Mathf.Clamp(Position.x, 0, mScreenSize.x);
    position.y = Mathf.Clamp(Position.y, 0, mScreenSize.y);
    Position = position; //This line is required to clamp the position into Position

1 个答案:

答案 0 :(得分:1)

这取决于您要返回的类型。属性与其他机制没有区别。

如果是值类型,那么它是副本,如果它是引用类型,则它是引用。