Поиск в коллекции - 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}");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д