簡體   English   中英

多重賦值(field = Property = value)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM