首页 > 解决方案 > 如何使用 foreach 将输入值存储在数组中?

问题描述

这可能是一个简单的,但作为一个初学者,我目前被卡住了。我试过tempArray[i] = inputTemp; 但是在打印列表时似乎没有正确存储值。有任何想法吗?

        foreach (int i in tempArray)
        {
            Console.WriteLine("Enter a value");
            double inputTemp = Convert.ToDouble(Console.ReadLine());
            tempArray[i] = inputTemp;
        }
        // Print out the array
        foreach (double i in tempArray)
        {
            Console.WriteLine(i);
        }

标签: c#

解决方案


它不起作用的原因是foreach循环遍历tempArray. 因此i不是索引,实际上是 的值tempArray,在每次迭代中可能为 0,因为该数组尚未使用值初始化。

您想改为使用for来制作i数组索引。

for (int i = 0; i < tempArray.Length; i++)
{
    Console.WriteLine("Enter a value");
    double inputTemp = Convert.ToDouble(Console.ReadLine());
    tempArray[i] = inputTemp;
}

推荐阅读