List<Skaitytojas> MyObjectList = new List<Skaitytojas>();
List<Knyga> KnyguList = new List<Knyga>();
private void button2_Click(object sender, EventArgs e)
{
Reader reader = new Reader();
reader._surname = Convert.ToString(textBox1.Text);
reader._id = Convert.ToInt32(textBox2.Text);
MyObjectList.Add(reader);
MessageBox.Show("you created new user");
}
private void button4_Click(object sender, EventArgs e)
{
Book new_book = new Book();
new_book.book_id = Convert.ToInt32(textBox3.Text);
new_book.date1 = Convert.ToString(textBox4.Text);
new_book.date2 = Convert.ToString(textBox5.Text);
new_book.date3 = Convert.ToString(textBox6.Text);
new_book._id2 = Convert.ToInt32(textBox7.Text);
BookList.Add(new_book);
MessageBox.Show("you added new book!");
}
我想将reader._id与new_book.id2进行比较,它将是相同的数字,如果我找到它,我想打印有关它的所有信息:book id,date1,date2等。 但我不知道该怎么做,我这样试试:
public void print_book(int x, ListBox f)
{
List<Book> BookList = new List<Book>();
foreach (var k in BookList)
{
if (x == k._id2)
{
f.Items.Add(x);
}
}
}
使用按钮
调用功能private void button3_Click(object sender, EventArgs e)
{
int x = Convert.ToInt32(textBox2.Text);
Metodai m = new Metodai();
m.print_book(x, this.listBox1);
}
当我尝试执行此功能时,列表仍然是空的,它有什么问题吗?也许有另一种方法可以做到这一点?你能救我吗?
答案 0 :(得分:1)
该行
with(temps, as.Date(paste0(year, "-01-01")) + (yday - 1))
# [1] "1980-01-01" "1980-01-02" "1980-01-03" "1980-01-04" "1980-01-05"
你刚刚在行中实例化了BookList,因此它没有循环。
答案 1 :(得分:0)
您创建了一个函数变量&#39; BookList&#39;与实例变量的名称相同。
有两种方法可以解决它。
// Fix #1
public void print_book(int x, ListBox f)
{
//List<Book> BookList = new List<Book>(); // Comment this line
foreach (var k in BookList)
{
if (x == k._id2)
{
f.Items.Add(x);
}
}
}
// Fix #2
public void print_book(int x, ListBox f)
{
List<Book> BookList = new List<Book>(); // 'BookList' has never been used
foreach (var k in this.BookList) // Add 'this'
{
if (x == k._id2)
{
f.Items.Add(x);
}
}
}