0
我完全不知道该怎么称呼它,所以随意更改标题(如果可以的话)或者建议一个新标题。 我有以下代码(请注意,它在生产中没有多少意义,它仅用于演示目的)。链接字段和属性时的执行顺序
static float num = 30f;
static float Num
{
get { return num; }
set { num = value > 20 ? 10f : value; }
}
void Foo()
{
num = Num = 25;
print(num + " " + Num);
}
void Foo2()
{
Num = num = 25;
print(num + " " + Num);
}
为什么Foo()打印“25 25”,而Foo2()打印“10 10”?
我读Foo1的方式是:
集货号至25(它设置NUM〜10),然后设置NUM到NUM(它返回NUM,它是10)
我读foo2的为:
设置NUM 25(这是30之前),现在设置民为num(这将设置NUM 10)
为什么他们有什么不同?
在字段上使用它,即“a = b = 5;”和“b = a = 5;”会导致两个设置为5,那么为什么在应用于属性时会有所不同?我错过了明显的东西吗?