Bud*_*phy 0 c# .net-4.0 winforms
我之前从未遇到过这种类型的陈述,任何人都可以启发我的功能.
Form = CardForm = MainForm;
Run Code Online (Sandbox Code Playgroud)
这是一个桌面应用程序(我通常是桌面应用程序的新手)
谢谢
Eri*_*ert 17
到目前为止,所有答案都包含微妙的错误.让我在这里直接记录.
表单的链式赋值表达式的语义
x = y = z
Run Code Online (Sandbox Code Playgroud)
是:
评估第一表达式x,y和z,并且按顺序产生它们的副作用(如果有的话).
其次,通过评估z产生的值被转换为与表达式y相关联的类型.将此值称为z1.请注意,这可能不是z的值; 可能涉及转换.
第三,执行将z1分配给y的副作用.
第四,z1被转换为与表达式x相关联的类型.将此值调用为z2.同样,z2不必与z1或z相同.
第五,z2被分配给x.
总结一下,这有以下语义:
side effects of x
side effects of y
side effects of z
z1 = value of z converted to type of y
y = z1
z2 = value of z1 converted to type of x
x = z2
Run Code Online (Sandbox Code Playgroud)
一些其他的答案都试图告诉你的语义x = y = z;仅仅是那些y = z; x = y;这是完全错误的.在该程序中,y和z的副作用发生在 x的那些之前,并且在该程序中,y被读取.这些都不是真的x = y = z;.