The preceding chapters have covered most of what you need to start writing useful programs using C#. This chapter completes the discussion of the essential language elements and goes on to discuss powerful aspects of C# that allow you to extend the capabilities of the C# language. Specifically, this chapter discusses the following:
The operators available in C#
The idea of equality when dealing with reference and value types
Data conversion between the primitive data types
Converting value types to reference types using boxing
Converting between reference types by casting
Overloading the standard operators to support operations on the custom types you define
Adding cast operators to the custom types you define to support seamless data type conversions