C#整数是什么输出?

Ric*_*son -5 .net c#

我对这个C#片段感到有点困惑.有人可以解释下面的内容吗?

 int i = 5;

 i = i + 6;
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 11

int i = 5; // sets the variable i to the value of 5. (i = 5)
i = i + 6; // sets the variable i equal to itself plus 6. (i = 5 + 6)
Run Code Online (Sandbox Code Playgroud)

因此i = 11 (5 + 6)


Mat*_*ton 5

int i = 5;
Run Code Online (Sandbox Code Playgroud)

创建一个名为i存储整数的变量,并为其赋予初始值5.

i = i + 6;
Run Code Online (Sandbox Code Playgroud)

修改i为的值i + 6.通过记住=在赋值发生之前评估赋值运算符右侧的所有内容的规则,可以避免混淆.因此,使用先前的值i,即5.所以在运行时,代码就变成了

i = 5 + 6;
Run Code Online (Sandbox Code Playgroud)

因此i具有价值11.

  • 我注意到,在分配发生之前,运算符双方*上的所有内容都会被评估,而不仅仅是右侧的所有内容.首先评估左侧,然后评估右侧,然后进行分配. (5认同)