With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, tutorials, and more.

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 begins to illustrate some 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 operators for the benefit of new programmers and Visual Basic converts, as well as to shed 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 access (for objects and structs)

.

Indexing (for arrays and indexers)

[]

Cast

()

Conditional (the ternary operator)

?:

Delegate concatenation ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, interactive tutorials, and more.