C# 如果变量正在更改,则为False;如果变量未更改,则为true

C# 如果变量正在更改,则为False;如果变量未更改,则为true,c#,unity3d,scripting,C#,Unity3d,Scripting,当布尔变量为False(如果变量正在更改)或True(如果变量未更改)时,如何使C代码保持统一。 因此,在第一帧中,我有myBool=true,在第二帧中,myBool=false。如果发生了,myBool2=false。 但是,如果myBool始终为true,那么myBool2为true。 怎么做 在更改要观察的变量之前,必须测试此条件 bool notChanging = newBoolValue == someBool; someBool = newBoolValue; 有了房产会更容易

当布尔变量为False(如果变量正在更改)或True(如果变量未更改)时,如何使C代码保持统一。 因此,在第一帧中,我有myBool=true,在第二帧中,myBool=false。如果发生了,myBool2=false。 但是,如果myBool始终为true,那么myBool2为true。
怎么做

在更改要观察的变量之前,必须测试此条件

bool notChanging = newBoolValue == someBool;
someBool = newBoolValue;
有了房产会更容易

public bool NotChanging { get; private set; };

private bool _someBool;
public bool SomeBool
{
    get { return _someBool; }
    set {
        NotChanging  = value == _someBool;
        _someBool = value;
    }
}
现在,您可以简单地设置属性,更改状态将自动相应地设置

SomeBool = newBoolValue;