A.2. Chapter 4

A.2.1. Exercise 1 Solution

This exercise is designed to make you use the debugger so you can examine the variables and their values while the program executes. You will notice that you cannot set a breakpoint on empty lines in the Source window.

A.2.2. Exercise 2 Solution

Relatively few changes are needed to the original code. You should add these lines:

const double FAHRENHEITFREEZINGPOINT = 32;
const double FIVENINTHS = .55555555555555555; // This is 5/9

Note the short comment to help explain the second symbolic constant. This helps to explain what the constant is. Now change the statement that calculates the temperature to

celciusTemp = FIVENINTHS * (fahrenheitTemp -
              FAHRENHEITFREEZINGPOINT);

This should make the code a little easier to understand.

A.2.3. Exercise 3 Solution

An lvalue for a variable is the memory address of where that variable resides in memory. The rvalue of a variable is what is stored at the lvalue memory location. If a variable does not have an lvalue, no memory has been allocated for it. This means that the variable serves informational purposes only in the symbol table and cannot be used to store program values.

A.2.4. Exercise 4 Solution

The size of the bucket is determined by the data type being defined. The analogy typically expresses the size of the bucket in terms of bytes. The number of bytes for C#'s value types is found in Chapter 3. The location of the bucket in memory is the bucket's lvalue, while the content of the bucket ...

Get Beginning C# 3.0 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.