郑州定制网站推广工具产品,有几个网站如何做外贸,网站建设有什么好的介绍,中国百强城市榜单排名一#xff1a;前言
我们都知道#xff0c;i是先取值#xff0c;后计算。i是先计算#xff0c;后取值。下面说下它的底层原理 二#xff1a;原理
int i 0;
i;
Console.WriteLine(i);
结果是1 执行步骤是#xff1a; 1.将常量0压入栈中 2.从栈中取出元素0#xff0c;局…一前言
我们都知道i是先取值后计算。i是先计算后取值。下面说下它的底层原理 二原理
int i 0;
i;
Console.WriteLine(i);
结果是1 执行步骤是 1.将常量0压入栈中 2.从栈中取出元素0局部变量1后再压入栈 3.输出时取栈顶元素1 无论是i还是i底层执行都是一样的因为这里并没有将作为赋值表达式符号底层也就视为只是将变量1的操作所以是没有区别的 int i 0;
i i;
Console.WriteLine(i);
结果是0 执行步骤是 1.将常量0压入栈中 2.从栈中取出元素0将0入栈然后再将局部变量i1,此时i1接着赋值的时候将栈中元素赋给ii赋值为0再入栈 3.输出时取栈顶元素0因为i会创建临时变量所以使用i会减少一个变量的创建但是这种性能上的优化对于一个值类型变量来说可忽略不计 int i 0;
i i;
Console.WriteLine(i);
结果是1 执行步骤是 1.将常量0压入栈中 2.从栈中取出元素0将局部变量i1,此时i1再入栈 3.输出时取栈顶元素1 int i 1;
i i i;
Console.WriteLine(i);结果是4 执行步骤是 1.将常量1压入栈中 2.从栈中取出元素1赋值给i将i1后再入栈此时i2。2再次入栈然后再将局部变量i1计算时取栈中的2和2相加结果为4再赋值给i再将i入栈 3.输出时取栈顶元素4 三总结
i先入栈再1i先1再入栈