当我尝试将新名称和数字从文本框添加到字典中,然后尝试将字典的内容添加到listBox时,所有先前的条目都是相同的。就像我添加" Bob Johnson 42"," Jim Smith 33"," Peter White 21"。当我把它放在ListBox中时,它会像以下一样: 彼得怀特21 彼得怀特21 彼得怀特21
我做错了什么? 这是代码。
private void button1_Click(object sender, EventArgs e)
{
String name = this.textBox1.Text;
int testNumber = int.Parse(textBox2.Text);
submittedTests.Add(this.textBox1.Text, testNumber);
foreach (var x in submittedTests)
{
listBox1.Items.Add(name + " " + testNumber);
}
}
答案 0 :(得分:3)
您正在使用循环外部name
和testnumber
的值
foreach (var x in submittedTests)
{
listBox1.Items.Add(name + " " + testNumber);
}
应该是
foreach (var x in submittedTests)
{
listBox1.Items.Add(x.name + " " + x.testNumber);
}
或如果submittedTests
是字典:
foreach (var x in submittedTests)
{
listBox1.Items.Add(x.Key + " " + x.Value);
}
答案 1 :(得分:1)
private void button1_Click(object sender, EventArgs e)
{
String name = this.textBox1.Text;
int testNumber = int.Parse(textBox2.Text);
submittedTests.Add(this.textBox1.Text, testNumber);
foreach (var x in submittedTests)
{
listBox1.Items.Add(x.Key + " " + x.Value);
}
}
答案 2 :(得分:0)
更改
listBox1.Items.Add(name + " " + testNumber);
要
listBox1.Items.Add(x.Key + " " + x.Value);