C# 三个布尔值,一次为真 [关闭]

Posted

技术标签:

【中文标题】C# 三个布尔值,一次为真 [关闭]【英文标题】:C# three bools one true at a time [closed] 【发布时间】:2012-05-06 11:24:26 【问题描述】:

我在 c# 中有三个布尔值。每个都允许打开不同的菜单。但是,在任何给定时间,只有一个可能是真的。因此,如果我按下一个按钮并且该按钮将相应的布尔值设置为相应的菜单,但我想要一个巧妙的检查,如果在将该布尔值设置为真之前将其他设置为真,则将其设置为假。不确定这是否有意义。感谢您提前提供任何帮助。

【问题讨论】:

您使用的是什么 UI 框架? WinForms、WPF、Silverlight、网络? 一张漂亮的支票???只需检查你的布尔值并完成它。 Stack Overflow is not your personal research assistant 【参考方案1】:

听起来你想要 一个 变量,可能使用枚举:

public enum ActiveMenu

    None,
    Settings,
    MainMenu,
    OtherMenu

然后有一个ActiveMenu 类型的变量,显然它一次只能保存一个值。这感觉比拥有三个独立(但密不可分)的布尔变量更明智。

【讨论】:

【参考方案2】:

将所有三个布尔值设为 false,然后将所需的一个设为 true。

【讨论】:

以上是关于C# 三个布尔值,一次为真 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

加入多个布尔值

如何在java中返回四分之三布尔值的答案

检查至少十分之二的布尔值是真的

检查数组中的所有布尔值是不是为真?

如何检查任何多个“错误”布尔值是不是为真?

如何测试多个(2个或更多)布尔值是不是为真