我经常发现自己在那样的代码前面:C#的性能和可读性的按钮开启/关闭
if(Something > 0)
{
btnOne.Enabled = true;
btnTwo.Enabled = true;
btnThree.Enabled = false:
}
else
{
btnOne.Enabled = false;
btnTwo.Enabled = false;
btnThree.Enabled = true:
}
而且我一直在想,如果这是更好地让它像,或把这样的:
bool ButtonEnabled = (Something > 0);
btnOne.Enabled = ButtonEnabled;
btnTwo.Enabled = ButtonEnabled;
btnThree.Enabled = !ButtonEnabled;
实现的问题是有点议论,让我们抛开“可读性”的因素,并专注于性能的因素...会是什么最好?还有一个任务或条件?
在此先感谢您的建议(或更好的书写方法)!
编辑:更正了我的第二个片段中的错误。 编辑:两个最初的例子并不相同...
既然它不是你想要的答案,我正在写评论。当涉及到这样的代码时,不要担心性能问题。大多数情况下它并不重要(除非你在循环中这样做的可能性很小)。去可读性! – Hemant 2010-10-27 06:33:19
你的两个片段并不相同。在第一个'btnThree.Enabled'和'btnFour.Enabled'只有在'Something <= 0'时才被设置(反之亦然),而在第二个按钮被设置。 – 2010-10-27 07:12:57
是的你说得对,我会稍微纠正一下! – 2010-10-27 07:45:59