checked und unchecked
Ausdrücke, die zu ganzzahligen Werten berechnet werden, unterliegen der Gefahr des Über- oder Unterlaufs, d. h. das Ergebnis des Ausdrucks liegt außerhalb des erlaubten Wertebereichs des Typs:
In Ausdrücken, in die nur Konstanten einfließen, erkennt bereits der Compiler den Überlauf und gibt eine Fehlermeldung aus
In Ausdrücken, die erst zur Laufzeit berechnet werden, werden die Überläufe standardmäßig nicht erkannt. Die entsprechenden Operationen werden auf Bitebene durchgeführt und die überzähligen höherwertigen Bits werden einfach ignoriert. So folgt bei vorzeichenbehafteten Typen auf den höchsten positiven Wert der kleinste negative Wert und bei nicht vorzeichenbehafteten Typen die 0.
int m, n; m = 2147483647; n = m + 1; ...
Get Microsoft Visual C# 2010 - Das Entwicklerbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.