我尝试执行以下操作
i=0;
if (i++ % Max_Col_items == 0 && i !=0)
{
}
发现i
中间增加了
i % Max_Col_items == 0;
i=i+1;
i !=0;
当我认为它最终会增加i
时:
i % Max_Col_items == 0;
i !=0;
i=i+1;
i++
任何人都可以找到有关C# 工作原理的解释吗?
我尝试执行以下操作
i=0;
if (i++ % Max_Col_items == 0 && i !=0)
{
}
发现i
中间增加了
i % Max_Col_items == 0;
i=i+1;
i !=0;
当我认为它最终会增加i
时:
i % Max_Col_items == 0;
i !=0;
i=i+1;
i++
任何人都可以找到有关C# 工作原理的解释吗?
i++
将为您提供原始值,而不是增加的值,您将在下一次使用时看到i
. 如果您想获得增加的值,请使用++i
.
i++
立即增加 的值,i
但计算为增加前的值。
直到代码行的末尾,它才会保留i
untouched 的值,这似乎是您所期望的。
那是因为(正如您正确指出的那样)
我 % Max_Col_items == 0;
is an operation in itself. Once that line of operation is over (with value of i ) the increment is done.