我有一個關於通過使用LINQ「搜索」其字段名稱來獲取列表對象的問題。我編寫簡單Library
和Book
類這樣的:如何按列表中的屬性值獲取/查找對象
class Book
{
public string title { get; private set; }
public string author { get; private set; }
public DateTime indexdate { get; private set; }
public int page { get; private set; }
public Book(string title,string author, int page)
{
this.title = title;
this.author = author;
this.page = page;
this.indexdate = DateTime.Now;
}
}
class Library
{
List<Book> books = new List<Book>();
public void Add(Book book)
{
books.Add(book);
}
public Book GetBookByAuthor(string search)
{
// What to do over here?
}
}
所以我想Book
情況下,其某些字段等於特定字符串,如
if(Book[i].Author == "George R.R. Martin") return Book[i];
我知道這是可能用簡單的循環代碼,但我想用LINQ來做到這一點。有什麼辦法可以做到這一點?
什麼是一個公共變種和私人二傳手的原因是什麼? – icbytes
@icbytes,Book類是一個不可變的對象,在多線程代碼中非常有用。對於這個例子,沒有理由修改書籍對象。 –
你從哪裏知道這件事? – icbytes