Класс домашняя библиотека. Перегрузка операций в классах - C#
Формулировка задачи:
Описать класс домашняя библиотека. Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку, добавление книг в библиотеку, удаления книг из нее, доступа к книге по номеру.
Решение задачи: «Класс домашняя библиотека. Перегрузка операций в классах»
textual
Листинг программы
class Book : IEquatable<Book> { public readonly string Author, Name; private Book() { } public Book(string Author, string Name) { this.Author = Author; this.Name = Name; } public bool Equals(Book other) { return this.Author.Equals(other.Author) && this.Name.Equals(other.Name); } public override string ToString() { return string.Format("{0}, {1}", this.Author, this.Name); } } class Library : ICollection<Book> { List<Book> books = new List<Book>(); public Book this[int index] { get { return books[index]; } } public IEnumerable<Book> GetBooksByAuthor(string Author) { foreach (Book book in books) { if (book.Author.Equals(Author)) yield return book; } } public IEnumerable<Book> GetBooksByName(string Name) { foreach (Book book in books) { if (book.Author.Equals(Name)) yield return book; } } public void Add(Book book) { books.Add(book); } public void Clear() { books.Clear(); } public bool Contains(Book book) { return books.Contains(book); } public void CopyTo(Book[] array, int arrayIndex) { books.CopyTo(array, arrayIndex); } public int Count { get { return books.Count; } } public bool IsReadOnly { get { return false; } } public bool Remove(Book book) { return books.Remove(book); } public IEnumerator<Book> GetEnumerator() { return books.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д