【发布时间】:2018-02-14 07:38:30
【问题描述】:
我尝试运行一个可以读取数组中奇数和偶数的程序,但一直出现的错误是System.InvalidCastException。代码如下:
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();
该错误表明我的int value 代码无法转换它的值。谁能教我解决这个错误的正确方法?
【问题讨论】:
-
您的值作为字符串读入。您需要转换为整数。
-
-
@Tim "来自
ArrayList的其他脏话" 我喜欢那个:)