# C# Odd and Even Numbers

Test for odd numbers with a simple method that performs modulo division.
Odd, even. Odd numbers are not even. With modulo division, we can see if the number is evenly divisible by 2. If it is not, it must be odd.
Numeric methods. We demonstrate the IsOdd method and then the IsEven method. It is important to test methods like these—one can be implemented with the negation of the other.Modulo
Odd example. The IsOdd static method performs a modulo division on the parameter, which returns the remainder of a division operation.Static

And: If the remainder not 0, then the number must be odd—the remainder would be 0 if it was divisible by 2.

C# program that finds odd numbers using System; class Program { static void Main() { for (int i = 0; i <= 100; i++) { if (IsOdd(i)) { Console.WriteLine(i); } } } public static bool IsOdd(int value) { return value % 2 != 0; } } Output 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
Notes, IsOdd. You could implement IsOdd by using the IsEven method and returning its boolean opposite. In other words, you could simply "return !IsEven(value)".

Correction: There was something odd about the first implementation of IsOdd on this page. It did not handle negative numbers correctly.

And: Fortunately, Joshua Goodman wrote in with the bug report and I corrected the problem.

Even. All even numbers are divisible by two. This means we can use the modulo division operator to see if there is any remainder when the number is divided by two.

So: If there is no remainder (it returns zero) then the number is definitely even.

Inlined: This method could be inlined into the locations you call it without too much loss of clarity.

Zero: To learn more about the parity of zero, check out Wikipedia. Zero is an even number.

Parity of zero: Wikipedia
C# program that finds even numbers using System; class Program { static void Main() { for (int i = 0; i <= 100; i++) { if (IsEven(i)) { Console.WriteLine(i); } } } public static bool IsEven(int value) { return value % 2 == 0; } } Output 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
A summary. A surprising number of programs require that you test for even and odd numbers. For example, if data must be entered in pairs, its count will always be even.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls