我有一个关于通过使用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