Я новичок в C #.У меня есть класс Persons и класс User, который наследуется от класса Persons.Я мою консоль я вводить пользователей в массиве.Затем я могу добавить заметку пользователю, который находится в массиве пользователей, только введя идентификатор пользователя.В моем классе Persons у меня есть эта функция, которая должна искать, находится ли этот пользователь в массиве пользователей.
public static Persons FindPerson(Persons[] persons, int noteid)
{
foreach (Persons person in persons)
if (person.ID == noteid) return person;
return null;
}
В моем классе User у меня есть функция, которая зацикливает весь ввод идентификатора, пока не получитидентификатор, который находится в массиве пользователей.
public static User SelectUser(User[] users)
{
while (true)
{
Console.Write("Please enter the User id: ");
string input = Console.ReadLine();
int id;
if (int.TryParse(input, out id))
{
Persons person = Persons.FindPerson(users, id);
if (person != null) return person; // fail on "return person"
}
Console.WriteLine("The User does not exist. Please try again.");
}
}
Все работает нормально, за исключением того, что теперь я получаю это сообщение об ошибке "return person" в операторе if.
Не могу неявнопреобразовать тип «UserCustomerNotes.Persons» в «UserCustomerNotes.User».Существует явное преобразование (вам не хватает приведения?)
Кто-нибудь может помочь?Заранее спасибо.