% Operator (C# Reference)
The % operator computes the remainder after dividing its first operand by its second. All numeric types have predefined remainder operators.
User-defined types can overload the % operator (see operator). When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.
Note the round-off errors associated with the double type.