Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将左侧布尔值更改为与右侧值相反_C# - Fatal编程技术网

C# 将左侧布尔值更改为与右侧值相反

C# 将左侧布尔值更改为与右侧值相反,c#,C#,我不确定这是否可行,但假设您希望根据条件显示标签A或标签B,并将另一个隐藏在同一行中。因此,如果标签A可见,则标签B隐藏,反之亦然。如果我想将标签A和B都设置为可见的,我可以简单地这样做 lableA.Visible = LabelB.Visible = true 但是,如果我只想要一个可见的标签呢?可能吗?差不多 labelA.Visible = labelB.Visible not = true 如果没有辅助方法或覆盖或其他东西,这甚至可能不可行;我只是想知道是否有人发现了类似的东西。你

我不确定这是否可行,但假设您希望根据条件显示标签A或标签B,并将另一个隐藏在同一行中。因此,如果标签A可见,则标签B隐藏,反之亦然。如果我想将标签A和B都设置为可见的,我可以简单地这样做

lableA.Visible = LabelB.Visible = true
但是,如果我只想要一个可见的标签呢?可能吗?差不多

labelA.Visible = labelB.Visible not = true

如果没有辅助方法或覆盖或其他东西,这甚至可能不可行;我只是想知道是否有人发现了类似的东西。

你可以用括号

labelA.Visible = !(labelB.Visible = false);
这是两个变量的赋值。如果你想让一个与另一个相反,那就去做吧

labelA.Visible = !labelB.Visible;

如果他们这样做,我会把代码发回给作者

a = !(b = true);
为了让所有需要处理代码的人保持理智,请坚持每行操作一次

b = true;
a = !b;
前者需要两次拍摄和几秒钟的大脑时间才能理解。后者非常清楚


如果你感觉不一样,那么你一开始就不必问。。。很明显,不是吗?

如果您使用的是WPF,这是一个非常好的绑定用例。我使用的是ASP.NET,我只是想知道它是否可以在一行中实现。在case绑定或if/else语句等中这样做完全是微不足道的;labelB.Visible=false;。如果你想把它压缩成一行,你什么也得不到。两行的速度太慢了吗?在这种情况下,升级您的计算机。也可以在一行中编写整个方法。然而,我正试图避免非正统的做法。是的,这样做就可以了,但在我看来,这似乎是太聪明了。两个声明将立即为每个人所清楚。这可能会让很多读者觉得“嗯?”很棒!这正是我想要的(别管那些说“哈”的读者)。非常感谢。投票并检查。嗯,在给你支票之前需要等几分钟:)@BrianRasmussen什么?哈哈,我不知道。你想说什么就说什么;)我完全同意布莱恩拉斯穆森的观点。请允许我永远不要用那种在没有其他好处的情况下,将聪明置于可读性之上的思维来维护代码。相反,我会投你一票,我会以你为榜样。这个问题已经回答了,所以Mkazem得到了一个复选标记,但如果我忽视了如此强烈的反对声音,那我就是一个白痴。所以,谢谢你。我很高兴让你失望,我给了你一票,取而代之的是:-)@Lukas接受这个建议吧人们会随着时间的推移改变主意,这很正常。但我只是想给出一个直截了当的答案。这是我非常尊敬的卡泽姆先生。非常感谢。现在,如果有人愿意从我的帖子中取回他们的匿名-1,因为他们选择了正确的练习而不是正确的答案,那就太好了。