我有一个名为List<Borrower>
的{{1}},其中包含一个借款人名单&#39;名字和他们借来的书的名称。
当借款人从BorrowerList
出列并从BorrowerQueue
弹出一本书时会发生这种情况。
我想要发生的是,将BookStack
和BorrowerQueue
的值添加到此sample from msdn中的Bookstack
。但是我不完全理解它是如何完成的。非常感谢帮助。
BorrowerList
目标:
var reader = BorrowerQueue.Dequeue(); //person gets dequeued from line
var books = BookStack.Pop(); // book gets popped from stack and associated to reader
BorrowerList.Add(new Borrower(reader.ToString()) {}); // what to do here?
这是我{[name1, Book], [name2, Book] .... }
的课程:
Borrower
class Borrower : IEnumerable<Borrower>
{
private string name;
private Book b;
public Borrower(String n)
{
this.name = n;
}
public string getName()
{
return name;
}
public Book getBook()
{
return b;
}
public void setBook(Book b)
{
this.b = b;
}
}
上课:
Book
答案 0 :(得分:1)
将您的属性getter和setter简化为标准属性。 C#编译器会自动转换它们的get / set函数。你的课应该是这样的:
class Borrower
{
public string Name { get; }
public Book Book { get; set; }
public Borrower(string n)
{
//Since C# 6.0, read-only properties can be set in the constructor
this.Name = n;
}
}
现在您需要做的就是在您出队时设置Book属性:
var reader = BorrowerQueue.Dequeue(); //person gets dequeued from line
var books = BookStack.Pop(); // book gets popped from stack and associated to reader
BorrowerList.Add(new Borrower(reader.ToString()) { Book = book });