我有一个字典填充了一个值,该值是一个包含int和double的类。我试图通过遍历字典将图中的两个int值绘制为图形上的x和y点。这就是它的样子:
foreach(KeyValuePair<int, Class> Pair in MyClass)
{
chart1.Series["series1"].Points.AddXY(Pair.Value.intA, Pair.Value.doubleB);
}
我的问题是,当字典有超过100行时,唯一被绘制的x-y对是字典中包含的最后一个类。我不知道为什么会这样,我不知所措。感谢任何帮助。谢谢。
答案 0 :(得分:1)
你如何在MyClass中声明Class的实例?
如果你这样做
var item = new Class();
var items = new Dictionary<int, Class>();
for(var x = 0; x < 100; x++)
{
item.Value = x;
items[x] = item;
}
字典中的每个KeyValuePair都引用了相同的Class实例。
如果你这样做
var items = new Dictionary<int, Class>();
for(var x = 0; x < 100; x++)
{
var item = new Class();
item.Value = x;
items[x] = item;
}
字典中的每个KeyValuePair都引用了一个新的Class实例。