È possibile utilizzare le seguenti operazioni per abilitare aritmetico di overflow/underflow check-in Visual Studio:
- Fare clic destro sul progetto in Solution Explorer e selezionare Proprietà.
- Nella scheda Costruisci, fare clic sul pulsante Avanzate. (Verso il fondo)
- Selezionare la casella di controllo "Verifica aritmetica di overflow/underflow".
Questo lancerà una System.OverflowException
quando si verifica l'overflow piuttosto che è solita operazione di cambiare il valore a un valore minimo.
senza overflow aritmetico/underflow abilitato:
int test = int.MaxValue;
test++;
//Test should now be equal to -2,147,483,648 (int.MinValue)
Con overflow aritmetico/underflow abilitato:
int test = int.MaxValue;
test++;
//System.OverflowException thrown
utilizzo di un blocco controllato:
checked
{
int test = int.MaxValue;
test++;
//System.OverflowException thrown
}
La documentazione per il controllo è disponibile here. (Grazie a Sasha per avermelo ricordato.)
fonte
2011-02-02 18:52:59
È anche possibile utilizzare la parola chiave 'checked' per racchiudere un'istruzione o un set di istruzioni in modo che siano esplicitamente controllate per l'overflow aritmetico. Impostare la proprietà a livello di progetto è un po 'rischioso perché spesso l'overflow è un'aspettativa abbastanza ragionevole. –
Si noti che questa opzione del compilatore si applica solo quando non è presente un contesto esplicito 'checked' o' unchecked' nel codice. Inoltre, influenzerà l'eseguibile risultante, non solo il debugging in Visual Studio. Vedi qui per la documentazione: http://msdn.microsoft.com/en-us/library/h25wtyxf%28v=VS.100%29.aspx – Justin
@Rionmonster e @Sasha - Non sapevo di nessuna di queste due funzionalità . Grazie ad entrambi. –