在很多情况下,我碰巧遇到这样一种情况,我想知道是否必须在设置变量之前执行 IF 检查(并增加方法的复杂性),或者这是否由 Windows 或框架在内部完成。
例如,假设我们有一个不断被触发的事件,例如 Form 的MouseMove
事件。其中哪一种方法会更好用?调用是否this.Cursor = Cursors.SizeNWSE;
也在内部检查以确保在不需要时不会执行任何操作,或者它是否盲目地执行代码?
示例 A:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X - this.Width > -16 && e.Y - this.Height > -16)
{
this.Cursor = Cursors.SizeNWSE;
}
else
{
this.Cursor = Cursors.Arrow;
}
}
示例 B:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X - this.Width > -16 && e.Y - this.Height > -16)
{
if (this.Cursor != Cursors.SizeNWSE)
this.Cursor = Cursors.SizeNWSE;
}
else
{
if (this.Cursor != Cursors.Arrow)
this.Cursor = Cursors.Arrow;
}
}