Chapter 5. 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 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
Operators
Although most of C#'s operators should be familiar to C and C++ developers, this section discusses the most important ones for the benefit of new programmers and Visual Basic converts, and to shed light on some of the changes introduced with C#.
C# supports the operators listed in the following table, although four (sizeof, *, ->
, and &
) are only available in unsafe code (code that bypasses C#'s type safety checking), which is discussed in Chapter 7, "Memory Management and Pointers":
Category | Operator |
---|---|
Arithmetic |
|
Logical |
|
String concatenation |
|
Increment and decrement |
|
Bit shifting |
|
Comparison |
|
Assignment |
|
Member access (for objects and ... |
Get Professional C# 2005 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.