在我的c#解决方案中我有:
private void DecrementProduct()
{
decimal? difference = this.Difference;
this.Difference = new decimal?((difference.HasValue ? difference.GetValueOrDefault() : new decimal(0))--);
}
visual studio返回错误: 错误107:增量或减量运算符的操作数必须是变量,属性或索引器。
哪里有问题?
答案 0 :(得分:4)
错误非常自我解释。您正在对值使用递减运算符,它需要是变量属性或索引器。
它类似于:
var foo = 10--;
你可能应该这样做:
this.Difference = difference - 1 ?? -1;
答案 1 :(得分:1)
private void DecrementProduct()
{
if(this.Difference.HasValue)
this.Difference = this.Difference.Value - 1M;
else
this.Difference = -1M;
}