Поиск в коллекции - C#

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

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

Как реализовать поиск в коллекции книги , по условию в абстрактном классе Abstr объявить метод Find. Метод Find определяет, находится ли среди объектов искомая книга. Если такая книга имеется, то выводится ее название и порядковый номер объекта. Иначе выводится сообщение, что такой книги нет. Отдельный вопрос нужно ли искать по конкретному полю(name, titles,quant) или можно просто искать параметр и выводить всю строку? Ну и нужно ли сортировать перед поиском? Зачем мне интерфейс и абстрактный класс лучше не спрашивайте, так нужно просто по условию Лабы -по условию нужно взять задачу из другой лабы и прикрутить интерфейс и абстрактный класс и чтоб их обоих унаследовал класс Book, ну и + сделать поиск.
using System;
using System.Collections.Generic;

namespace Application1
{
  interface Inter
    {
    void Print();        
    }
    
     /*public class Abstr
    {
    
    }*/
 
   public class Book : /*Abstr,*/ Inter
    {
        public string name{ get; set; }
        public string title{ get; set; }
        public string quant{ get; set; }

        public Book(string name, string title, string quant)
        {
        this.name = name;
        this.title = title;
        this.quant = quant;
        }
       public static Book New()
        {
        Console.Write(" Автор: ");
        string name = Console.ReadLine();
        Console.Write(" Название книги: ");
        string title = Console.ReadLine();
        Console.Write(" Количество: ");
        string quant = Console.ReadLine();
        return new Book(name, title, quant);
        }       
        
       public void Print () 
        {
            Console.WriteLine (name+" "+title+" "+quant);
        }
    }

public class MainClass
{
 public static void Main()
        {
     
      List <Book> books= new List<Book>();
        var stop = false;
        do
        {
            Console.WriteLine();
            Console.WriteLine("Меню :");
            Console.WriteLine("1. Добавить книгу");
            Console.WriteLine("2. Поиск книги");
            Console.WriteLine("3. Вывод всего списка");
            Console.WriteLine("0. Выход");
 
            String str=Console.ReadLine();
            switch(str)
            {
                
                case "1":
                books.Add(Book.New());
                    break;
                case "2":
                //место под поиск
                    break;
                case "3":
                foreach (Book book in books) 
            {
                book.Print ();
            }
                    break;      
                case "0":
                    stop = true;
                    break;
                default:
                    Console.WriteLine("Введите значение меню из списка");
                    break;
            }
        }
        while (!stop);
    
        }
 
 }
}

Решение задачи: «Поиск в коллекции»

textual
Листинг программы
if(b.name==Name) //Значит нашли нужную
{
    Console.WriteLine($"{b.name} {b.title} {b.quant}");
}

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


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

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

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