Chapter 7Operators and Casts
WHAT’S IN THIS CHAPTER?
- Operators in C#
- The idea of equality when dealing with reference and value types
- Data conversion between primitive data types
- Converting value types to reference types using boxing
- Converting between reference types by casting
- Overloading the standard operators for custom types
- Adding cast operators to custom types
WROX.COM CODE DOWNLOADS FOR THIS CHAPTER
The wrox.com code downloads for this chapter are found at www.wrox.com/go/procsharp on the Download Code tab. The code for this chapter is divided into the following major examples:
- SimpleCurrency
- SimpleCurrency2
- VectorStruct
- VectorStructMoreOverloads
OPERATORS AND CASTS
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 illustrates some powerful aspects of C# that enable you to extend its capabilities.
OPERATORS
Although most of C#’s operators should be familiar to C and C++ developers, this section discusses the most important operators for the benefit of new programmers and Visual Basic converts, and sheds light on some of the changes introduced with C#.
C# supports the operators listed in the following table:
| CATEGORY | OPERATOR |
|---|---|
| Arithmetic | + – * / % |
| Logical | & | ^ ~ && || ! |
| String concatenation | + |
| Increment and decrement | ++ –– |
| Bit shifting | << >> |
| Comparison | == != < > <= >= |
| Assignment | = += -= *= /= %= &= |= ^= <<= >>= |
| Member ... |