Where would you look for help about a C# keyword?
Where would you look for solutions to common programming problems?
What happens when you divide an
int
variable by 0?A
DivideByZeroException
is thrown when dividing an integer or decimal.
What happens when you divide a
double
variable by0
?The
double
contains a special value ofInfinity
. Instances of floating-point numbers can have special values--NaN
(not a number),PositiveInfinity
, andNegativeInfinity
.
What happens when you overflow an
int
variable, that is, set it to a value beyond its range?It will loop unless you wrap the statement in a
checked
block in which case anOverflowException
will be thrown.
What is the difference between
x = y++;
andx = ++y;
?In
x = y++;
,y
will be assigned tox
and theny
will be incremented, and inx = ++y;
,y
will be incremented and then the result will be assigned tox
.
What is the difference between
break
,continue
, andreturn
when used inside a loop statement?The
break
statement will end the whole loop and continue executing after the loop, thecontinue
statement will end the current iteration of the loop and continue executing at the start of the loop block for the next iteration, and thereturn
statement will end the current method call and continue executing after the method call.
What are the three parts of a
for
statement and which of them are required?The three parts of a
for
statement are the initializer, condition, and incrementer. The condition is required to be an expression that returnstrue
orfalse
, but the other two are optional.
What is the difference between the
=
and==
operators?The = operator is the assignment operator for assigning values to variables, and the == operator is the equality check operator that returns
true
orfalse
.
Does the following statement compile? for ( ; true; ) ;
Yes. The
for
statement only requires a Boolean expression. Theinitializer
andincrementer
statements are optional. This for statement will execute the empty;
statement forever. It is an example of an infinite loop.
Exercise 3.2
What will happen if this code executes?
int max = 500; for (byte i = 0; i < max; i++) { WriteLine(i); }
The code will loop nonstop because the value of
i
can only be between0
and255
, so once it gets incremented beyond255
, it goes back to0
and therefore will always be less thanmax
(500
).To prevent it from looping nonstop, you can add a checked statement around the code. This would cause an exception to be thrown after
255
, like this:
254 255 System.OverflowException says Arithmetic operation resulted in an overflow.