所以,我试图找出,如何确定我的变量是否正在变化,是增加它的价值,还是减少它。我知道我可以使用一个变量来存储旧值,但在这种情况下它不是一个选项。
int variable = 0;
variable = 1;
if(variable has increased) {
//Do Magic stuff
}
基本上,我会怎么想这样做。我不知道这种方式是否可行,没有旧值的容器,但我认为可能有一个C#函数可以解决这个问题,可能是一个内存地址?
我还没有弄清楚,这种方法或技术的调用方式也是如此,所以对此也很了解。
答案 0 :(得分:5)
使变量成为属性(在类中)。
在该属性的setter中,记录变量每次设置时是增加还是减少。
例如:
class Class1
{
private int _counter;
private int _counterDirection;
public int Counter
{
get { return _counter; }
set
{
if (value > _counter)
{
_counterDirection = 1;
}
else if (value > _counter)
{
_counterDirection = -1;
}
else
{
_counterDirection = 0;
}
_counter = value;
}
}
public int CounterDirection()
{
return _counterDirection;
}
}
答案 1 :(得分:2)
class Program
{
private int _variableValue;
private bool _isIncreasing;
public int Variable
{
get
{
return _variableValue;
}
set
{
_isIncreasing = _variableValue <= value;
_variableValue = value;
}
}
void Main(string[] args)
{
Variable = 0;
Variable = 1;
if (_isIncreasing)
{
//Do Magic stuff
}
}
}