Eventuali duplicati:
Why don’t languages raise errors on integer overflow by default?Perché C# non usa il controllo di overflow aritmetico per impostazione predefinita?
Perché non C# usa overflow aritmetico controllo di default?
Immagino che in genere sarebbe meglio fare in modo che si verifichino eccezioni in modo che gli errori non vengano oscurati. So che occasionalmente è utile sfruttare il comportamento di "involucro" che si verifica, ma la parola chiave unchecked
potrebbe essere utilizzata in queste circostanze per rendere esplicite le intenzioni.
Mi aspetto che questa decisione sia stata presa intenzionalmente, forse per aumentare la compatibilità con altri linguaggi basati su C.
Prestazioni .... – Mysticial
Probabilmente per motivi di prestazioni: il controllo di overflow è lento e non necessario nella stragrande maggioranza dei casi. –
@MichaelPetito, grazie; questa domanda sembra migliore di questa e ha buone risposte, quindi penso che dovrebbe essere chiusa. – Sam