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,那麼爲什麼在應用於屬性時會有所不同?我錯過了明顯的東西嗎?