我最近开始研究C#,现在我正在尝试用用户输入填充双打数组,使用for循环。当我用Int做它时,一切都很好但是有双打我得到错误消息“不能隐式地将类型'double'转换为'int'。”
namespace Homework
{
class Program
{
static void Main(string[] args)
{
double[] n = new double[10];
double i, j;
Console.WriteLine("Please give 10 numbers: ");
for (i = 0; i < 10; i++)
{
Console.Write("{0}: ", i+1);
//1st error
n[i] = Convert.ToDouble(Console.ReadLine());
}
for (j = 0; j < 10; j++)
{
Console.WriteLine("Element[{0}] = {1}", j+1, n[j]); /*2nd error*/
}
Console.ReadKey();
}
}
}
我在第一个for循环中的'n [i]'中得到了2个这样的错误消息,另一个指向了WriteLine部分代码最末端的'n [j]'。 / p>
答案 0 :(得分:6)
double i, j;
在迭代中使用。 这两个必须是整数,因为数组只有整数作为索引。
数组没有索引1,5
。
所以,将其改为:
int i, j;
答案 1 :(得分:5)
n[i] = Convert.ToDouble(Console.ReadLine());
问题在这里。索引数组时i
应为int
。因为拥有索引为2.5的元素没有意义。同样适用于j
。将其声明为int
而不是double
。