Josh909 Ответов: 2

Не удается неявно преобразовать тип 'int' в 'int[]'


Я пытаюсь сделать игру вдохновителя, где я заставляю пользователя угадывать последовательность чисел между 4-10 вместо цветов, но по какой-то причине мой GetRandomNumberCount, CountHits получают ошибку не может неявно преобразовать тип в int[]


Любые рекомендации будут оценены по достоинству

// This method compares the random numbers to the ones the user has guessed
       public static int CountHits(int userGuess, int[] randomNumbers)
       {
           int correctGuess = 0;


           if(userGuess == randomNumbers)
           {
               Console.WriteLine("Hit");
               Console.ReadLine();
               correctGuess++;
           }
           else
           {
               Console.WriteLine("Miss");
               Console.ReadLine();
           }
           return correctGuess;
       }

// This method gets the quantity of random numbers to use in the game.
       public static int GetRandomNumberCount(int difficulty)
       {
           int[] randomNumber = 0;


           if(difficulty == 1)
           {
             randomNumber= GenerateRandomNumber(0, 4);
           }
           else if(difficulty == 2)
           {
                randomNumber = GenerateRandomNumber(1, 6);
           }
           else if (difficulty == 3)
           {
               randomNumber = GenerateRandomNumber(1, 11);
           }

           return randomNumber;

           }
       // This method generates the random numbers for the array of numbers.
       public static int[] GenerateRandomNumber(int min, int max)
       {


           // this declares an integer array with 5 elements
           // and initializes all of them to their default value
           // which is zero
           int[] test2 = new int[5];

           Random randNum = new Random();
           for (int i = 0; i < test2.Length; i++)
           {
               test2[i] = randNum.Next(min, max);
           }
           return test2;
       }

Sergey Alexandrovich Kryukov

В каком направлении? Разве сообщение об ошибке не кристально ясно?
—СА

2 Ответов

Рейтинг:
2

SouravParamanik007

int[] randomNumber = new int[] { };


CHill60

Это просто переместит проблему в другое место, а именно

return randomNumber;
А если вы исправите эту функцию
public static int[] GetRandomNumberCount(int difficulty)
это просто переместит ошибку в
if(userGuess == randomNumbers)
Таким образом, ваше решение, к сожалению, не хватает деталей

ОП принял решение Венделиуса 4 года назад, подразумевая, что они наконец поняли, что неправильно используют массив.

Рейтинг:
16

Wendelius

Может быть, ошибка исходит из этой строки

int[] randomNumber = 0;

Должен randomNumber быть одной переменной вместо массива ?