我想知道在对象上使用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
答案 0 :(得分:1)
这取决于您要返回的类型。属性与其他机制没有区别。
如果是值类型,那么它是副本,如果它是引用类型,则它是引用。