Ошибка CS1955 Невызываемый член не может использоваться как метод - C#
Формулировка задачи:
При выполнении задания столкнулся вот с такой ошибкой, подскажите как решить.
Суть задания следующая:
Описать класс с именем NOTE, содержащий поля:
- фамилия и имя;
- номер телефона;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
-ввод с клавиатуры данных класса типа NOTE;
-вывод на экран информации о людях, чьи дни рождения совпадают с
введенными с клавиатуры;
- если таких людей нет, вывести соответствующее сообщение.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Note { private string firstname; private string lastname; private int number; private int[] daybirthday; public Note(string firstname, string lastname, int number, int[] daybirthday) { this.firstname = firstname; this.lastname = lastname; this.number = number; this.daybirthday = daybirthday; } public Note() { firstname = " "; lastname = " "; number = 0; daybirthday = new int[3]; } public string Firstname { get { return firstname; } set { firstname = value; } } public string Lastname { get { return lastname; } set { lastname = value; } } public int Number { get { return number; } set { number = value; } } public int[] Daybirthday { get { return daybirthday; } set { daybirthday = value; } } } class Program { static void Main(string[] args) { Console.WriteLine("Введите количество человек: "); int n = Convert.ToInt32(Console.ReadLine()); Note[] people = new Note[n]; int[] daybd = new int[3]; for (int i = 0; i < n; i++) { Console.WriteLine("Введите фамилию: "); people[i] = new Note(); people[i].Firstname = Convert.ToString(Console.ReadLine()); Console.WriteLine("Введите имя: "); people[i].Lastname = Convert.ToString(Console.ReadLine()); Console.WriteLine("Введите номер телефона: "); people[i].Number = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите дату рождения(ДД/ММ/ГГ) через пробел :"); //дата рождения-массив из чисел,и такое же объявление как например "people[i].Lastname" выдает ошибку(нельзя неявно преобразовать int в int[] даже если писать через цикл for string s = Console.ReadLine(); string [] dt = s.Split(' '); // здесь надо как-то перевести из строкового массива в числовой и записать значения при поиске по дате рождения=> } Console.WriteLine("Введите день рождения для поиска: "); int data = Convert.ToInt32(Console.ReadLine()); int k = 0; for (int p = 0; p < n; p++) { if (data==xxx) //=> сюда вместо ххх { Console.WriteLine("фамилия: " + people[p].Firstname); Console.WriteLine("имя : " + people[p].Lastname); Console.WriteLine("номер телефона : " + people[p].Number); k++; } } if (k == 0) Console.WriteLine("Таких людей нет"); } } }
Решение задачи: «Ошибка CS1955 Невызываемый член не может использоваться как метод»
textual
Листинг программы
if (data == people[p].Daybirthday[0])// при условии что день рождения будет первым в массиве даты
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д