这是一种“切换”bool的可接受方式

时间:2013-08-29 17:51:54

标签: c# boolean toggle

我想在C#Winform上切换控件,并以这种方式编写:

private void chtCPU_Click(object sender, EventArgs e)
    {
        bool is3d = chtCPU.ChartAreas["ChartArea1"].Area3DStyle.Enable3D;

        chtCPU.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = !is3d;
    }

这会被认为是实现这个目标的好方法吗?它似乎具有高可读性和高效性,但这是一种很好的方法吗?

2 个答案:

答案 0 :(得分:5)

没关系。我可能会将表达式的一部分分配给变量,以避免重复自己。

var style = chtCPU.ChartAreas["ChartArea1"].Area3DStyle;
style.Enable3D = !style.Enable3D;

答案 1 :(得分:4)

你可以使用driis的方法,我强烈推荐这种方法是可读性和简洁性之间的最佳权衡,或者你真的想要一个单行...

您可以与true一起使用XOR来简洁地完成此操作。

chtCPU.ChartAreas["ChartArea1"].Area3DStyle.Enable3D ^= true; //toggle