我看过他们在无数块的C#代码都被使用了,我想知道何时使用i++或++i(i为某数量的变量一样int,float,double,等).谁知道这个?
这是一个简单的控制台应用程序代码,它返回一个我完全不理解的结果.
试着想一想它是否在控制台中输出0,1或2:
using System;
namespace ConsoleApplication
{
class Program
{
static void Main()
{
int i = 0;
i += Increment(ref i);
Console.WriteLine(i);
Console.ReadLine();
}
static private int Increment(ref int i)
{
return i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
答案是0.
我不明白的是为什么i++从Increment方法上执行的post增量ref(不是在传递的变量的副本上)确实增加了变量,但它稍后会被忽略.
我的意思是在这个视频中:
有人可以解释这个例子以及为什么在调试期间我看到该值增加到1,但它又回到0?
我只是好奇一件事.Javascript中的一个小例子
var a = 1;
a = a++;
console.log(a); // 1
var b = 1;
b = ++b;
console.log(b); // 2
var c = 1;
c += 1;
console.log(c); //2Run Code Online (Sandbox Code Playgroud)
我理解为什么是这样工作的情况下,b和c,但怎么样a?首先代码进行赋值a = a,实际值保持不变,但它应该(如我所见)增加并增加a每单位的值.但这没有发生.为什么?