Perché ricevo un errore di compilazione qui:Integer eccezione di overflow
int a = 2147483647 + 10;
e non qui, se sto eseguendo la stessa operazione:
int ten = 10;
int b = 2147483647 + ten;
Sto imparando l'utilizzo di controllato e il sito Web MSDN non cancella il motivo per cui OverflowException viene generato nel primo snippet di codice:
errore, un'espressione che contiene solo valori costanti causa un errore del compilatore se l'espressione produce un valore che si trova all'esterno dell'intervallo del tipo di destinazione. Se l'espressione contiene uno o più valori non costanti , il compilatore non rileva l'overflow.
Spiega solo il comportamento ma non i motivi di tale comportamento. Mi piacerebbe sapere cosa succede sotto il cofano.
Si sta verificando un errore del compilatore, non un'eccezione nel primo caso. – CodesInChaos