J'ai codé en Java (principalement) et .Net pendant un certain temps.|| (Ou) Opérateur logique en Java vs .Net
Ce que j'ai trouvé est que l'opérateur logique ||
dans .Net est différent dans le résultat à l'opérateur ||
dans Java.
permet de regarder le code Java suivant:
Object obj = null;
if(obj == null || obj.toString().isEmpty()){
System.out.println("Object is null");
}
Le résultat du code ci-dessus sera:
objet est nul
La raison en est que obj == null
est true
et la seconde expression n'a pas été évaluée. Si c'était le cas, j'aurais reçu un java.lang.NullPointerException
.
Et si j'utilisais le single ou (|
) je recevrais aussi un NullPointerException
(les deux sont évalués).
Ma question est la suivante:
Si le code était C#, je reçois toujours un ObjectReferenceNotSet etc. exception parce que la valeur de obj est nulle et la deuxième expression est toujours évaluée (quelle que soit l'opérateur) , ce qui signifie que le résultat est différent en C# qu'en Java. Si je veux changer le code C# pour fonctionner correctement, je dois créer deux instructions if.
est-il pas un moyen plus facile de le faire en C# pour être similaire à Java? (Conservez-le en 1 si avec 2 expressions)
Merci.
je devais vous downvote, désolé :(mais votre question est tout à fait faux et je ne comprends pas pourquoi il est reçu plusieurs des votes! – fearofawhackplanet
Je suis d'accord. Je fait une erreur sur un autre endroit. J'ai voté fermez la question.Comme je suis incapable de le supprimer. – Koekiebox
Avez-vous déjà testé ce produit? – Pedro