具有按钮启用/禁用的C#性能和可读性

And*_*y M 0 c# performance readability

我经常发现自己在这种代码面前:

if(Something > 0)
{
    btnOne.Enabled = true;
    btnTwo.Enabled = true;
    btnThree.Enabled = false:
}
else
{
    btnOne.Enabled = false;
    btnTwo.Enabled = false;
    btnThree.Enabled = true:
}
Run Code Online (Sandbox Code Playgroud)

而且我一直想知道让它像那样更好,或者像这样说:

bool ButtonEnabled = (Something > 0);

btnOne.Enabled = ButtonEnabled;
btnTwo.Enabled = ButtonEnabled;
btnThree.Enabled = !ButtonEnabled;
Run Code Online (Sandbox Code Playgroud)

实现这个问题有点争论,让我们把"可读性"因素放在一边,专注于绩效因素......什么是最好的?还有一个任务或条件?

提前感谢您的建议(或者更好的写作方式)!

编辑:更正了我的第二个代码段中的错误.编辑:两个最初的例子不等同......

Rob*_*sen 5

这取决于被调用的属性.如您所知,物业可以做任何事情.在Windows窗体或WPF中,我不担心它.我认为后一种风格的正确性和可读性.如果每次都设置所有必要的变量,则丢失某些内容并将一个按钮置于无效状态的可能性较小.

我会做点什么的

bool ButtonEnabled = (Something > 0);
btnOne.Enabled = ButtonEnabled;
btnTwo.Enabled = ButtonEnabled;
btnThree.Enabled = !ButtonEnabled;
btnFour.Enabled = !ButtonEnabled;
Run Code Online (Sandbox Code Playgroud)