【发布时间】:2010-10-27 06:24:12
【问题描述】:
我经常遇到这种代码:
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;
意识到这个问题有点争论,让我们抛开“可读性”因素,专注于性能因素......什么是最好的?还有一个任务或条件?
提前感谢您的建议(或者更好的编写方式)!
编辑:更正了我的第二个 sn-p 中的一个错误。 编辑:两个最初的例子不等价...
【问题讨论】:
-
既然不是你想要的答案,我就写在评论里。当涉及到这样的代码时,不要担心性能。大多数时候这并不重要(除非你是在一个不太可能的循环中这样做)。追求可读性!
-
你的两个sn-ps不等价。第一个
btnThree.Enabled和btnFour.Enabled仅在Something <= 0时设置(其他两个按钮反之亦然),而在第二个中,所有按钮都已设置。 -
是的,你是对的,我会稍微更正一下!
标签: c# performance readability