私はしばらくJava(主に)と.Netでコーディングしています。||(または)Javaの論理演算子。
私が見つけたのは、.Netの||
論理演算子がJavaの演算子||
と異なる点です。
Object obj = null;
if(obj == null || obj.toString().isEmpty()){
System.out.println("Object is null");
}
コードの結果は、上記のようになります:
は、次のJavaコードを見てみましょ
オブジェクトがnullの
obj == null
がtrue
であるため、その理由は2番目の式は評価されませんでした。もしそうなら、私はjava.lang.NullPointerException
を受け取ったでしょう。
また、私がシングルまたは(|
)を使用した場合、私はNullPointerException
も受け取りました(どちらも評価されています)。
私の質問は以下の通りです:
コードは、C#だった場合OBJ値がnullであり、第二の式は常に(関係なく、オペレータの)評価されているので、私はいつもObjectReferenceNotSetなど例外が発生しますつまり、結果はJavaではなくC#で異なります。 C#コードを正しく動作させるには、if文を2つ作成する必要があります。
C#でこれをJavaに似た方法がありますか? (表現が2つの場合は1つにしてください)
ありがとうございました。
私は申し訳ありませんが、あなたをdownvoteしなければならなかった:(しかし、あなたの質問は完全に間違っていると、それは、最大多数の票を受けていますなぜ私は理解できない! – fearofawhackplanet
私は同意します。私は別の場所でミスを犯した。私が投票質問を閉じる。私はそれを削除することはできません。 – Koekiebox
これを試したことがありますか? – Pedro