私が持っているとしましょう
if (textbox.Text != null && textbox.Text.Length > someNum)
{
//some code
}
textbox.Text が null の場合、 null.Length が機能しないためにクラッシュしますか、それとも演算子が && であり、続行する意味がないため、最初の式の後で壊れますか?
私が持っているとしましょう
if (textbox.Text != null && textbox.Text.Length > someNum)
{
//some code
}
textbox.Text が null の場合、 null.Length が機能しないためにクラッシュしますか、それとも演算子が && であり、続行する意味がないため、最初の式の後で壊れますか?
これは「短絡評価」と呼ばれ、C# にはあります。はい、textbox.Text
null の場合、式の 2 番目の部分は評価されません。
詳細については、 http://msdn.microsoft.com/en-us/library/2a723cdk (v=VS.71).aspx を参照してください。
はい、C# は論理短絡を行います。MSDN
はい。ただし、その行を分割して Null をチェックします: 例外を返すかスローします。コードをより明確にします。
最初の式が偽であることが判明した後、それは壊れます。これはショート サーキットと呼ばれ、多くの最新の言語 (C# や Java など) に共通しています。
これが、そもそもオブジェクトが null ではないことに依存する別の条件をチェックする前に、null をチェックすることをお勧めする理由です。