我想在c#中创建一个结构,在其中您具有成对的值,如果设置了一个值,则另一个值自动相反地设置。例如,如果我有一个配对,例如:
{
public bool Courageous;
public bool Cowardly;
}
因此,如果两个设置之一,则另一个设置为“未设置”。是否有相关的零和变量之类的东西?
最佳答案
您可以尝试属性
{
private bool _courageous;
public bool Courageous
{
get
{
return _courageous;
}
set
{
_courageous = value;
_cowardly = !value;
}
}
private bool _cowardly;
public bool Cowardly
{
get
{
return _cowardly;
}
set
{
_cowardly = value;
_courageous = !value;
}
}
}
或如zzzzbov和Amy建议的那样,只有一个后备字段
{
private bool _courageous;
public bool Courageous
{
get
{
return _courageous;
}
set
{
_courageous = value;
}
}
public bool Cowardly
{
get
{
return !_courageous;
}
set
{
_courageous = !value;
}
}
}
或没有后备字段,see other answer
{
public bool Courageous{ get; set; }
public bool Cowardly { get { return !Courageous; } set { Courageous = !value; } }
}
关于c# - C#中是否存在“零和”变量之类的问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45581125/