在另一页上我说nr = 0
var number = this.NavigationContext.QueryString["nr"];
int Nr = Convert.ToInt16(number);
这有效,Nr = 0
现在我想将Nr升级为一个:
int next = Nr++;
不幸的是,这不起作用...... next = 0
,但它应该是1
。
有人可以向我解释我做错了吗?
答案 0 :(得分:8)
Nr++
递增并返回Nr
的原始值。
++Nr
递增并返回{em>新值Nr
。所以你想要的是:
int next = ++Nr;
答案 1 :(得分:3)
在C#(或C ++)中,语句
int next = Nr++;
转换为“将 Nr 的值分配给变量 next ,然后将Nr增加1。
如果你想让Nr先增加,你的陈述应该是这样的:
int next = ++Nr;
以下是++运算符的定义:http://msdn.microsoft.com/en-us/library/36x43w8w.aspx
答案 2 :(得分:0)
问题是... Nr
在Nr
设置为next
后使用next=Nr+1;
答案 3 :(得分:0)
有两个增量运算符 - 预增量++c
和后增量c++
。
var x = ++c;
相当于
c = c + 1;
var x = c;
而var x = c++;
相当于
var x = c;
c = c + 1;
因此x
在c
递增之前或之后接收值。