When must we use checked operator in C#?
Is it only suitable for exception handling?
You would use checkedto guard against a (silent) overflow in an expression.
And use unchecked when you know a harmless overflow might occur.
You use both at places where you don't want to rely on the default (project-wide) compiler setting.
Both forms are pretty rare, but when doing critical integer arithmetic it is worth thinking about possible overflow.
Also note that they come in two forms:
x = unchecked(x + 1); // ( expression )
unchecked { x = x + 1;} // { statement(s) }