gpt4 book ai didi

c# - 我如何使用属性 { get; }?

转载 作者:行者123 更新时间:2023-11-30 12:25:51 25 4
gpt4 key购买 nike

我注意到在 Microsoft.Xna.Framework.Rectangle struct 中,有很多属性只是 public int Bottom { get; }public Point Center { get; }。我,对于我的生活,无法弄清楚这里发生了什么。我已经尝试在我自己的一些结构中复制它,但我不知道如何在没有 set; 关键字的情况下首先给它一个值。 Rectangle struct{get;} 做了什么?

最佳答案

Rectangle.Bottom 没有集合的原因是因为它是一个计算值,Top + Height。如果你愿意设置它,你希望发生什么?改变y位置?改变高度?这是不可能知道的。因此,您必须自己决定并根据您的实际需要更改 TopHeight

属性的概念不仅仅是拥有一个变量然后设置或获取它。如果是的话,我们可以只使用公共(public)变量,就是这样。相反,这个想法是允许验证和计算属性。

public int Bottom
{
get { return Top + Height; }
}

如您所见,无需将其设置为任何值,因为它会根据其他值推断其值。

(当然在内部它很可能不会使用其他属性,而是由于性能而使用实际变量)

关于c# - 我如何使用属性 { get; }?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com