通过字典和图进行迭代

本文关键字:迭代 字典 | 更新日期: 2023-09-27 18:04:41

我有一个用值填充的字典,该值是一个包含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对是字典中包含的最后一个类。我不知道为什么会这样,我很困惑。

通过字典和图进行迭代

如何在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的一个新实例。