**
在练习题目的时候遇到了一个问题,将用户输入的n个数据排序后并打印出来,在最后一步将排序好的数据打印出来,用foreach循环就会报错system.in32,我换成for循环遍历整个数组打印就是正常的,这是为啥呢?望指点,以下是代码:**
Console.WriteLine("请输入数字:");
int input = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("你需要输入{0}个年龄:", input);
int[] num = new int[input];
for (int i = 0; i < num.Length; i++)
{
Console.WriteLine("请输入第{0}个年龄", i + 1);
int a = Convert.ToInt32(Console.ReadLine());
num[i] = a;
}
Console.WriteLine("原数据为:");
for (int i = 0; i < num.Length; i++)
{
Console.Write(num[i] + " ");
}
Console.WriteLine();
Console.WriteLine("排序后的顺序是:");
for (int i = 0; i < num.Length; i++)
{
for (int j = 0; j < num.Length - i - 1; j++)
{
if (num[j] < num[j + 1])
{
int temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
//for (int i = 0; i < num.Length; i++)
//{
// Console.Write(num[i] + " ");
//}
foreach (var item in num)
{
Console.WriteLine(num);
}