在C#中,是否有人知道为什么以下将编译:
int i = 1; ++i; i++;
但这不会编译?
int i = 1; ++i++;
(编译器错误:增量或减量运算符的操作数必须是变量,属性或索引器.)
你在另一个结果上运行一个操作数,增量/减量的结果是一个值 - 你不能对一个值使用递增/递减它必须是一个可以设置的变量.
出于同样的原因你不能说
5++;
要么
f(i)++;
函数返回值,而不是变量.增量运算符也返回值,但不能应用于值.