PDA

View Full Version : [C#]Verificare condizione senza if


RaouL_BennetH
10-06-2009, 08:14
Buongiorno a tutti :)

Stavo provando a fare una banale operazione del genere:

La sottrazione tra due numeri interi che non deve restituirmi un valore negativo, quindi, il primo intero dev'essere per forza maggiore del secondo.



int totale = valore2 - valore1;

//non vorrei fare questo:

if(valore2 > valore1)
totale = valore2 - valore1;

//tantomeno questo:

int totale = valore2 - valore1;
if(totale > 0)
blabla



Come potrei fare?

Grazie mille :)

RaouL.

banryu79
10-06-2009, 08:19
Ma vuoi soltanto ottenere sempre un risultato positivo oppure vuoi proprio determinare il caso in cui il sottraendo sia più grande del minuendo?

Perchè nel primo caso dovrebbe essere sufficiente eseguire la sottrazione e prendere il valore assoluto della differenza ottenuta.

RaouL_BennetH
10-06-2009, 08:25
Ciao :)

Devo determinare che il minuendo non possa mai essere minore del sottraendo. Questo perchè il sottraendo è un dato già noto, quindi, dato che non ho modo di controllare cosa digiterà l'utente nel campo del minuendo, quando effettua l'azione di calcolo se il minuendo è minore devo richiamare la sua attenzione.

banryu79
10-06-2009, 08:35
Ciao :)

Devo determinare che il minuendo non possa mai essere minore del sottraendo. Questo perchè il sottraendo è un dato già noto, quindi, dato che non ho modo di controllare cosa digiterà l'utente nel campo del minuendo, quando effettua l'azione di calcolo se il minuendo è minore devo richiamare la sua attenzione.
Fammi capire: stai progetta una GUI dove, ad esempio prendi da input in un controllo di testo il valore del minuendo?

E dici che il sottraendo è già noto, e vuoi evitare il caso in cui l'utente inserisca un intero minore di quest'ultimo?

Allora penso che dovresi usare un controllo grafico più specializzato di una normale text box. Ad esempio uno spinner, o un controllo analogo, che inizializza il suo range di valori con valore minimo pari al minuendo, e valore massimo che decidi tu in base alla logica del tuo applicativo.

In questo modo non devi fare nessun if :)

RaouL_BennetH
10-06-2009, 08:42
Ah, non volevo legarmi al concetto di GUI. Mi interessava capire come e se si può fare indipendentemente da quale sarà il metodo di input dell'utente.

Sulla GUI (almeno per i winforms) ci sono i metodi validating che mi permettono di fare questo.

Sto cercando solo di capire se si può fare una cosa del genere ad un livello più astratto.

banryu79
10-06-2009, 08:54
Ah, non volevo legarmi al concetto di GUI. Mi interessava capire come e se si può fare indipendentemente da quale sarà il metodo di input dell'utente.

Sulla GUI (almeno per i winforms) ci sono i metodi validating che mi permettono di fare questo.

Sto cercando solo di capire se si può fare una cosa del genere ad un livello più astratto.
Ah.
Allora non vedo molte scappatoie. Devi fare un if. Che io sappia non ci sono molte alternative.