The modulus operator (%) computes the remainder after dividing its first operand by its second. All numeric types have predefined modulus 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.
// cs_operator_modulus.cs
using System;
class MainClass
{
static void Main()
{
Console.WriteLine(5 % 2); // int
Console.WriteLine(-5 % 2); // int
Console.WriteLine(5.0 % 2.2); // double
Console.WriteLine(5.0m % 2.2m); // decimal
Console.WriteLine(-5.2 % 2.0); // double
}
}
Output
1
-1
0.6
0.6
-1.2
Note the round-off errors associated with the double type.
Reference
C# Operators
Concepts
C# Programming Guide
Other Resources
C# Reference