This chapter offers an overview of the C# language, providing the syntax and examples for using the list of features that form the core of this and just about any programming language. These features include basic data types, numerical and relational operators, loop constructs, strings, enums, and arrays. The final section stresses how all .NET types can be classified as a value or reference type. It explains the different memory allocation schemes used for the two. In addition, it looks at the concepts of boxing and unboxing: converting a value type to a reference type and converting a reference type back to a value type.