2011-09-15 5 views
1

可能性の重複:
What happens if the first part of an if-structure is false?if(iAmNull!= null && iAmNull.Length == 6)Do();

第1の基準はANDで偽得た場合、C#でまったく評価され第二の条件とは?

つまり、この例ではNullExceptionがスローされますか?

if (iAmNull != null && iAmNull.Length == 6) Do(); 
+1

2番目の式が評価されないように、他の人が '&&'演算子の短絡を指摘しているので、両方の式を評価する必要がある場合は、 '&'演算子を使用してください。 –

答えて

3

あなたは短絡& &演算子を使用しているので、ありません第二の条件は評価されません。 Wikipediaから

短絡評価、最小限の評価、またはマッカーシー評価 は、いくつかのプログラミングでは、いくつかのブール演算子の意味を表す場合は、2番目の引数は唯一 を実行したり、評価されている 言語最初の引数では 式の値を調べるには不十分です。AND関数の最初の引数が falseと評価された場合、全体の値はfalseでなければなりません。 の最初の引数がORと評価された場合、全体の値は真でなければなりません。

関連する問題