173 messaggi dal 18 gennaio 2008
Ciao a tutti,
io nella mia applicazione ho questo if:

if (!CheckCumulativeQuantity() && (row.QTYORD != 0) && (MessageBar.Messages.ElementAt(0).FullMessage.Contains(row.Product.CODART)))


In un caso:
!CheckCumulativeQuantity()=false
(row.QTYORD != 0)=true
(MessageBar.Messages.ElementAt(0).FullMessage.Contains(row.Product.CODART)))
MessageBar.Messages=0 e row.Product=null

Non da exception e non entra.

in un altro caso:
!CheckCumulativeQuantity()=true
(row.QTYORD != 0)=true
(MessageBar.Messages.ElementAt(0).FullMessage.Contains(row.Product.CODART)))
MessageBar.Messages=1 e row.Product=null

ex:Object reference not set to an instance of an object.


Qualcuno sa dirmi perchè??
98 messaggi dal 13 febbraio 2016
L'operatore logico AND (&&) restituisce il valore booleano true se entrambi gli operandi sono true, in caso contrario, restituisce false.

Nel tuo caso significa che uno dei tre operandi è false e quindi non entra nel blocco successivo.

Ti suggerisco una lettura su MSDN sull'operatore AND.

Ciao
Paolo
6 messaggi dal 12 novembre 2014
Questo è il corto circuito dell'if...utilizza questo:

if ( A & B & C).....

un solo & e li fa tutti obbligatoriamente, anche se A=true...!!

Prova.

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.