# Operators

An *operator*
is a symbol that causes C# to take an action. The C# primitive types
(e.g., `int`

) support a number of operators such as
assignment, increment, and so forth. Their use is highly intuitive,
with the possible exception of the assignment operator
(`=`

) and the equality operator
(`==`

), which are often confused.

## The Assignment Operator (=)

Section 3.3, earlier in this chapter, demonstrates the use of the assignment operator. This symbol causes the operand on the left side of the operator to have its value changed to whatever is on the right side of the operator.

## Mathematical Operators

C# uses five mathematical operators, four for standard calculations and a fifth to return the remainder in integer division. The following sections consider the use of these operators.

### Simple arithmetical operators (+, -, *, /)

C# offers operators for simple arithmetic: the
addition (`+`

),
subtraction (`-`

),
multiplication (`*`

),
and
division
(`/`

) operators work as you might expect, with the
possible exception of integer division.

When you divide two integers, C# divides like a child in fourth
grade: it throws away any fractional remainder. Thus, dividing 17 by
4 will return the value 4 (`17/4 = 4`

, with a
remainder of `1`

). C# provides a special
operator,
modulus (`%`

),
described in the next section, to retrieve the remainder.

Note, however, that C# does return fractional answers when you divide floats, doubles, and decimals.

### The modulus operator (%) to return remainders

To find the remainder ...

Get *Programming C#* now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.