# VB.NET Mod Operator (Odd, Even Numbers)

Use the Mod operator to perform modulo division. Use Mod in a loop construct.**Mod.** How can you use modulo division in the VB.NET language? With the Mod operator, you can compute the remainder of a division expression.

**Mod is equivalent** to the modulo operator in C-like languages. With Mod we can determine whether a number is odd or even (its parity).

**Example.** This example shows some Mod expressions with constant Integers. When the value 90 goes into 1000 11 times, but leaves a remainder of 10. This is the result of 1000 Mod 90.

**And:** The next Mod expressions show the same principle in action. The output numbers are shown.

**VB.NET program that uses Mod with constants**
Module Module1
Sub Main()*
' Compute some modulo expressions with Mod.
*Console.WriteLine(1000 __Mod__ 90)
Console.WriteLine(100 __Mod__ 90)
Console.WriteLine(81 __Mod__ 80)
Console.WriteLine(1 __Mod__ 1)
End Sub
End Module
**Output**
10
10
1
0

**Example 2.** Using a Mod expression is appropriate in a For-loop. You can apply Mod to the induction variable "i". In this program, we display "i" whenever it is divisible by 10.

**Sometimes:** This style of code is useful in real programs. We can "throttle" an action to occur only occasionally this way.

**VB.NET program that uses Mod in For-loop**
Module Module1
Sub Main()*
' Loop through integers.
*For i As Integer = 0 To 200 - 1*
' Test i with Mod 10.
*If i __Mod__ 10 = 0 Then
Console.WriteLine(i)
End If
Next
End Sub
End Module
**Output**
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190

**Odd, even numbers.** The parity of a number is whether it is odd or even. We can test parity by creating 2 functions in VB.NET that return true or false.

**IsOdd:** This returns the opposite of IsEven. It correctly handles negative and positive numbers.

**IsEven:** This uses modulo division (with Mod) to see if the number is evenly divisible by 2 (and thus even).

**Boolean:** Both methods return a Boolean (true or false). We test these methods with a simple For-loop.

BooleanFor Each, For**VB.NET program that tests odd, even numbers**
Module Module1
Function __IsOdd__(ByVal number As Integer) As Boolean*
' Handle negative numbers by returning the opposite of IsEven.
*Return IsEven(number) = False
End Function
Function __IsEven__(ByVal number As Integer) As Boolean*
' Handles all numbers because it tests for 0 remainder.
' ... This works for negative and positive numbers.
*Return number Mod 2 = 0
End Function
Sub Main()
For i = *-10* To *10*
Console.WriteLine(i.ToString() + *" EVEN = "* + IsEven(i).ToString())
Console.WriteLine(i.ToString() + *" ODD = "* + IsOdd(i).ToString())
Next
End Sub
End Module
**Output**
-10 EVEN = True
-10 ODD = False
-9 EVEN = False
-9 ODD = True
-8 EVEN = True
-8 ODD = False
-7 EVEN = False
-7 ODD = True
-6 EVEN = True
-6 ODD = False
-5 EVEN = False
-5 ODD = True
-4 EVEN = True
-4 ODD = False
-3 EVEN = False
-3 ODD = True
-2 EVEN = True
-2 ODD = False
-1 EVEN = False
-1 ODD = True
0 EVEN = True
0 ODD = False
1 EVEN = False
1 ODD = True
2 EVEN = True
2 ODD = False
3 EVEN = False
3 ODD = True
4 EVEN = True
4 ODD = False
5 EVEN = False
5 ODD = True
6 EVEN = True
6 ODD = False
7 EVEN = False
7 ODD = True
8 EVEN = True
8 ODD = False
9 EVEN = False
9 ODD = True
10 EVEN = True
10 ODD = False

**Percent.** In C-like languages, the "%" character expresses a modulo division. We cannot use this character in VB.NET. More details are available in the C# language article.

Modulo

**Summary.** Modulo division is an important concept to understand in computer programming. In the .NET Framework, modulo division is used to implement collections such as Dictionary.

Dictionary**Summary, continued.** The Mod operator often comes in handy whenever a mathematical procedure is needed. We can use modulo for determining parity (odd or even).

© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.