什么了!意味着在这种背景下?

时间:2013-12-16 05:05:32

标签: c#

button.Click += delegate {
            blue_panel.Visible = !blue_panel.Visible;
        };

'!'是什么在bluepanel.Visible指示?这句话意味着什么,以及它的替代方式是什么?

4 个答案:

答案 0 :(得分:1)

! symbol是C#中的NOT(或逻辑否定)运算符,有关详细信息,请参阅! Operator

在这种特殊情况下,它意味着将blue_panel对象的可见性设置为之前的反转(如果为false则为true,如果为true则为false)。基本上它是一种在两个可能值之间切换布尔值的快速方法,通常用于显示/隐藏事物。

有几种不同的方式来编写它,但为什么要改变它呢?它是一种表示布尔切换的非常简洁的方法。

答案 1 :(得分:1)

!是logical negation operator

  

逻辑否定运算符(!)是一个否定它的一元运算符   操作数。它是为bool定义的,当且仅当它的时候返回true   操作数是假的。

在您的示例中,它切换了面板的当前状态。如果它当前可见,则会被隐藏,反之亦然。

答案 2 :(得分:0)

!NOT运算符,它会使inverse操作。

所以它基本上切换了blue_panel可见性的状态。

这里:

blue_panel.Visible = !blue_panel.Visible;  
如果falseblue_panel,则

指定visible,否则指定true

可以改写为:

方法1:

if(blue_panel.Visible)
blue_panel.Visible = false;
else
blue_panel.Visible = true;

方法2:

blue_panel.Visible = blue_panel.Visible?false:true;

答案 3 :(得分:0)

!通常意味着没有,但在这种情况下,它用于翻转布尔值。

它说如果Visible是真的,那就把它弄错。如果它的错误使它成为现实。