为什么&#34;列出<t>。插入(索引,T)&#34;添加到列表的末尾而不是索引?

时间:2016-03-19 20:46:02

标签: c# .net wpf

我有一个带滴答功能的计时器:

    void CollisionTimer_Tick(object sender, EventArgs e)
    {
        int j;
        angle += 10;
        angle %= 360;

        int i = angle / 10 - 1;
        if (i < 0)
            j = 0;
        else
            j =i % 35;

        ObstaclePoints.Insert(j, getPoint(angle));
    }

所需的效果是点列表&#39;障碍点&#39;当j在0-35之间迭代时得到36分。

我得到的问题是在前36个滴答之后,j回到0,列表不断添加到我的列表中得到超过36个点。 (即在我的名单中得到72分之后,我又获得了72分,而不是前36分被覆盖)。

为什么会发生这种情况,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

List.Insert不会覆盖指定索引处的项目,但会在此位置插入一个项目。使用数组ObstaclePoints[35]代替地址,如下面的代码所示:

ObstaclePoints[j] = getPoint(angle);