错误1无法隐式转换类型';int[]';到';int';

本文关键字:int 类型 转换 错误 | 更新日期: 2023-09-27 18:19:40

我是C#编程的新手,我试图制作一个关于书籍的简单程序——我问他/她需要读一本书多长时间:

TrajanjeČasaBranjaKnjige = new int[SteviloPoglavijKjige];
NasloviPoglavijKnjige = new string[SteviloPoglavijKjige];
for (int i = 0; i < SteviloPoglavijKjige; i++) 
{
    Console.Write("Vpiši naslov {0,2}. poglavij: ", i + 1);
    NasloviPoglavijKnjige[i] = Console.ReadLine();
    while (true)
    {
        try
        {
            Console.Write("Vpiši koliko časa porabiš za branje knjige: ");
            TrajanjeČasaBranjaKnjige[i] = int.Parse(Console.ReadLine());
            break;
        }
        catch
        {
            Console.WriteLine("Napaka pri vnosu števila: ");
        }
    }

我得到的错误是:

Error   1   Cannot implicitly convert type 'int[]' to 'int' 
Error   2   Cannot apply indexing with [] to an expression of type 'int'

我应该全部用小写字母写吗?

错误1无法隐式转换类型';int[]';到';int';

从您得到的错误来看,您似乎没有将TrajanjeČasaBranjaKnjige声明为int数组,而是声明为单个int。

int[] TrajanjeČasaBranjaKnjige;

这应该能解决问题。


为了回答您关于大小写的问题,您可以使用任何您喜欢的标识符,编译器不会在意,但通常的约定使用"camelCase"作为变量,即以小写字母开头,有时以""或"m"前缀开头。

"TrajanjeČasaBranjaKnjige"是int[]类型吗?

int[] TrajanjeČasaBranjaKnjige = new int[SteviloPoglavijKjige];

错误就在这里。左侧应该是int类型的数组,如下所示。

int[] TrajanjeČasaBranjaKnjige = new int[SteviloPoglavijKjige];