[英]Multiple assignment (field = Property = value)
在C#中這樣做是否安全?
field = Property = value;
是否保證連續調用setter和getter並且只為get field
分配getter的結果而不一定是value
? 編譯器會將其優化為value
嗎?
運用
private int tada;
public int TADA
{
get
{
Console.WriteLine("GETTER");
return tada;
}
set
{
Console.WriteLine("SETTER");
tada = value;
}
}
和
int s = TADA = 1;
我只將SETTER寫入輸出窗口,因此它似乎不會調用getter。
來自C#語言基礎知識
您甚至可以為多個變量分配相同的值,如下所示:
int a,b,c,d;
a = b = c = d = 5;
在這種情況下,a,b,c和d都將具有值5.這是有效的,因為C#編譯器首先執行最右邊的賦值; 也就是說,d = 5.該賦值本身返回一個值,值為5.編譯器然后將返回的值賦給c。 第二個賦值也返回一個值,依此類推,直到分配了所有變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.