C#中的数组获取用户输入并传递给另一个类

时间:2010-11-03 03:22:50

标签: c# visual-studio-2010 class project

我正在开展一个项目,是的。我很难理解如何传递用户输入并将其与数组一起存储。该项目是为了获得7天的高温和低温,并存储在不同的阵列中然后计算高等等。如何收集输入并将其存储在不同类的数组中?我想我差不多了,但不确定我哪里出错了

到目前为止我有这个但是得到错误:

  

无法将类型'int'隐式转换为'int []'

namespace Project_Console_3
{
    class Program
    {
        static void Main(string[] args)
        {
            WeeklyTemperature Temp = new WeeklyTemperature();

            int Count = 0;
            while (Count < 7)
            {
                Console.WriteLine("Enter The High Temperature for Day {0}", Count+1); 
                Temp.HTemp1 =Console.ReadLine();      // save the number as a string number
                Temp.HTemp = Convert.ToInt32(Temp.HTemp1); // change the string number to a integer as HTemp
                Console.WriteLine("--------------------------------");//Draws a line

                Console.WriteLine("Enter The Low Temperature for Day {0}", Count+1); 
                Temp.LTemp1 =Console.ReadLine();      // save the number as a string number
                Temp.LTemp = Convert.ToInt32(Temp.LTemp1);
                Console.WriteLine("--------------------------------");//Draws a line
                Count = Count + 1;
                Console.Clear();
            }       
        }
    }
}

WeeklyTemperature.cs

namespace Project_Console_3
{
    class WeeklyTemperature
    {
        public int[] HTemp = new int[7];
        public int[] LTemp = new int[7];
        public string HTemp1;
        public string LTemp1;
    }
}

2 个答案:

答案 0 :(得分:1)

看起来你需要做的就是改变这一行:

Temp.HTemp = Convert.ToInt32(Temp.HTemp1);

Temp.HTemp[Count] = Convert.ToInt32(Temp.HTemp1)

答案 1 :(得分:0)

您的错误消息告诉您变量分配不匹配。 在这一行:

Temp.HTemp = Convert.ToInt32(Temp.HTemp1); 

返回值的类型为int,但变量Temp.HTemp的类型为int[],它是一个包含单个整数的数组。 要将值存储在数组中,编译器必须知道它必须将值放在哪个位置。

为数组建立索引与[]运算符一起使用:

int pos = 0;
Temp.HTemp[pos] = 5;

将在第一个位置存储5个。

由于你的while循环中有一个计数变量,你可以用它来索引存储数字的位置,正如Jim Ross已经在答案中所示。

有关索引主题的更多信息,您可以找到here,教程是here