/// <summary> /// Searchs books by criteria. /// </summary> /// <param name="criteria">Object inherited from ICompareWithCriteria interface.</param> /// <returns>List of Book objects selected by criteria.</returns> public IEnumerable <Book> SearchElementByTag(ICompareWithCriteria <Book> criteria) { List <Book> selectedBooks = new List <Book>(); foreach (var book in storage) { if (criteria.Compare(book)) { yield return(book); } } }
public Book SearchFirstElementByTag(ICompareWithCriteria <Book> criteria) { List <Book> selectedBooks = new List <Book>(); foreach (var book in storage) { if (criteria.Compare(book)) { return(book); } } return(null); }