かなりの数のケースで、変数を設定する前に IF チェックを実行する必要があるかどうか (およびメソッドの複雑さを増加させる必要があるかどうか)、またはこれが Windows またはフレームワークによって内部的に行われるかどうか疑問に思っている状況に陥っています。
例として、フォームのイベントなど、常にトリガーされるイベントがあるとします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;
}
}