3.1. Using Visual Studio 20083.2. Using the C# Compiler (csc.exe)3.3. Dissecting the Program3.3.1. Passing Arguments to Main()3.4. Language Syntax3.4.1. Keywords3.4.2. Variables3.4.3. Scope of Variables3.4.4. Constants3.4.5. Comments3.4.6. XML Documentation3.5. Data Types3.5.1. Value Types3.5.1.1. Predefined Value Types3.5.1.2. Nullable Type3.5.2. Reference Types3.5.3. Enumerations3.5.4. Arrays3.5.5. Implicit Typing3.5.6. Type Conversion3.6. Flow Control3.6.1. if-else Statement3.6.2. switch Statement3.7. Looping3.7.1. for Loop3.7.2. Nested for Loop3.7.3. foreach3.7.4. while and do-while Loops3.7.5. Exiting from a Loop3.7.5.1. break3.7.5.2. return3.7.5.3. throw3.7.5.4. goto3.7.6. Skipping an Iteration3.8. Operators3.8.1. Assignment Operators3.8.1.1. Self-Assignment Operators3.8.1.2. Prefix and Postfix Operators3.8.2. Relational Operators3.8.3. Logical Operators3.8.3.1. Short-Circuit Evaluation3.8.4. Mathematical Operators3.8.5. Operator Precedence3.9. Preprocessor Directives3.9.1. #define and #undef3.9.2. #if, #else, #elif, and #endif3.9.3. #warning and #error3.9.4. #line3.9.5. #region and #endregion3.9.6. #pragma warning3.10. Summary