次の Winforms 階層があります。
Form ==> AForm ==> BForm
int? X;
そして、 で定義された null 許容メンバーがありますAForm
。にBForm
は、次のコードがあります。
public partial class BForm : AForm, IBview
{
......
public int Y
{
get
{
int z = X ?? 0;
System.Diagnostics.Debug.WriteLine("X: " + X.ToString() + " z: " + z.ToString());
return z;
}
}
X
null であってはなりません。フォームを閉じて開こうとしていBForm
ます。通常は機能し、z
ゼロになることもあります (10 回に 1 回など)。z==0
オンラインの条件付きブレークがありreturn z
ます。
ブレークポイントにヒットしたとき。デバッグ書き込み
X: z: 0
しかし、ブレークポイントがヒットした後にビジュアルスタジオでX
マウスカーソルを合わせると、の値はnullでも0でもありません。X