Powiel możliwe:
Why don’t languages raise errors on integer overflow by default?Dlaczego funkcja C# nie używa domyślnie sprawdzania przepełnienia arytmetycznego?
Dlaczego nie C# używać przepełnienie sprawdzanie domyślnie?
Uważam, że generalnie byłoby lepiej mieć wyjątki, gdy tak się dzieje, aby błędy nie były zasłonięte. Wiem, że czasami przydaje się wykorzystanie zachowań "opakowujących", ale słowo kluczowe "unchecked
" może być użyte w tych okolicznościach do wyraźnego wyrażenia intencji.
Spodziewam się, że decyzja ta została podjęta celowo, być może w celu zwiększenia kompatybilności z innymi językami opartymi na języku C.
Wydajność ... – Mysticial
Prawdopodobnie ze względu na wydajność - kontrola przepełnienia jest powolna i nie jest wymagana w zdecydowanej większości przypadków. –
@MichaelPetito, dzięki; to pytanie wydaje się lepsze niż to, i ma dobre odpowiedzi, więc myślę, że to powinno zostać zamknięte. – Sam