I tried to run a program that can read odd and even numbers in an array, but the error that keeps appearing is System.InvalidCastException. Here's the code:
ArrayList Num = new ArrayList();
Console.WriteLine("Enter 5 numbers");
for (int i = 0; 5 > i; i++)
{
Console.Write((i + 1) + ". ");
Num.Add(Console.ReadLine());
}
Num.Sort();
Console.Write("Sorted numbers: ");
foreach (string value in Num)
{
Console.Write(value + " ");
}
Console.ReadLine();
ArrayList odd = new ArrayList();
ArrayList even = new ArrayList();
foreach (int value in Num)
{
if (value % 2 != 0)
{
odd.Add(value);
}
else
{
even.Add(value);
}
}
Console.Write("Odd numbers: ");
foreach (string number in odd)
{
Console.Write(number + " ");
}
Console.Write("Even numbers: ");
foreach (string numbers in even)
{
Console.Write(numbers + " ");
}
Console.ReadLine();
The error indicates that my int value
code it's value cannot be converted. Can anyone teach me the right way to solve this error?