繁体   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