Поиск из "Массива обьектов класса" по свойствам(имени, дате.) - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Есть проблема такая, мне нужно например вывести из массива обьектов класса определенного человека по имени или дате рождения на экран.Есть идея только перебором всего массива через цикл с условием проверки но это мне кажется как то не кошерно, я читал можно через ключ какой то это сделать или как то по другому

Посоветуйте как лучше.

вот примерно у меня есть массив в нем через конструктор лежат несколько данных
Student_Group[] Students = new Student_Group[3];
Students[0] = new Student_Group("Иванов" , "Дмитрий" , DateTime.ParseExact("04.04.1992" , patternTime , null) , 1 , 1234567);
... 
... 
...
и мне например нужно вывести на экран не весь массив а только одного человека от туда по имени массив string _cmd отвечает за команды например ( show Дмитрий)

_cmd[0] - команда(show) _cmd[1] - имя

switch (_cmd[0])
{
. . .
case "show":
    if ( _cmd[1] != null )
        Student_Group.Display_(/*Что вот тут надо написать*/);
    else
        Student_Group.Display_(Students);
. . .
}
а Вот сам метод в классе который я вызываю
public static void Display_(Student_Group[] _student )
        {
            try
            {
                Console.Clear();
                string[] Info = { "Фамилия" , "Имя" , "Возраст" , "Курс" , "Телефон" };
                Console.WriteLine("| {0,-12} {1,-12} {2,-15} {3,-10}   {4,-9} |" , Info[0] , Info[1] , Info[2] , Info[3] , Info[4]);
                Console.WriteLine("+" + new string('-' , 66) + "+");
                for ( int i = 0 ; i < _student.Length ; i++ )
                {
                    Console.WriteLine("| {0,-12} {1,-12} {2,-10:d}({3:##})    {4,-10} {5,-9:### ## ##} |" ,
                                        _student[i]._sure_name ,
                                        _student[i]._name ,
                                        _student[i]._date ,
                                        Math.Truncate(( DateTime.Now - _student[i]._date ).TotalDays / 365) ,
                                        _student[i]._course ,
                                        _student[i]._phone_number);
                }
            }
            catch ( Exception e )
            {
                Console.WriteLine(Ex(e));
                Console.ForegroundColor = ConsoleColor.White;
                Console.ReadLine();
            }
            Console.WriteLine();
        }
Буду очень благодарен за помошь

Решение задачи: «Поиск из "Массива обьектов класса" по свойствам(имени, дате.)»

textual
Листинг программы
switch (_cmd[0])
{
. . .
case "show":
    if ( _cmd[1] != null )
        Student_Group.Display_(Students, s => s._name == _cmd[1]);
    else
        Student_Group.Display_(Students);
. . .
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы