Я пишу код, в котором у меня есть информация о клиентах, хранящихся в массиве с именем members (id, initials). Затем я запрашиваю у пользователя их идентификатор и инициалы и сопоставляю входы с хранимой информацией от элементов массива. Если они совпадают, я двигаюсь дальше. Однако я получаю ошибку в моем кодировании: «ссылка на объект требуется для доступа к методу или свойству нестатического поля». Ошибка возникает из операторов if. Любые предложения по устранению этой проблемы?C# Совпадение пользовательских входов с массивом
Некоторая справочная информация. У меня есть два класса, один называется Customer и один называется Menu. Меню является основным классом, в то время как Клиент является ссылкой класса I.
Это из моего класса Menu:
int L = 0;
string I = "";
Customer[] members = new Customer[2];
members[0] = new Customer(3242, "JS");
members[1] = new Customer(7654, "BJ");
Console.Write("\nWhat is your Loyalty ID #: ");
L =Convert.ToInt32(Console.ReadLine());
Console.Write("\nWhat is your first and last name initials: ");
I = Console.ReadLine();
if (L==Customer.GetId())
{
if (I == Customer.GetInitials())
{
Console.WriteLine("It matches");
}
}
else
{
Console.WriteLine("NO match");
}
Console.ReadKey();
}
}
}
Это из моего класса Customer
private int id;
private string initials;
public Customer()
{
}
public Customer(int id, string initials)
{
SetId(id);
SetInitials(initials);
}
public int GetId()
{
return id;
}
public void SetId(int newId)
{
id = newId;
}
public string GetInitials()
{
return initials;
}
public void SetInitials(string newInitials)
{
initials = newInitials;
}
Google «итерирует через массив в C#» и видит, можете ли вы решить проблему. Если не вернешься и покажи нам, что у тебя есть. –
Вероятно, вы имеете в виду 'if (L == members [0] .GetId())'. «Клиент» не является объектом, это класс. – Mephy
СПАСИБО МЕДИ. Это решило проблему. – BeginnerHelp