Ich habe einen Timer mit der Zecke Funktion:Warum wird "Liste <T> .Insert (index, T)" am Ende der Liste statt Index hinzugefügt?
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));
}
Die gewünschte Wirkung ist die Punktliste ‚ObstaclePoints‘ erhält 36 Punkte als j iteriert zwischen 0-35.
Das Problem, das ich bekomme, ist nach den ersten 36 Ticks und j geht zurück zu 0, die Liste wird hinzugefügt, und ich bekomme mehr als 36 Punkte in meiner Liste. (d. h. nach weiteren 36 Ticks erhalte ich 72 Punkte in meiner Liste, anstatt die ersten 36 zu überschreiben).
Warum passiert das und wie kann ich das beheben?
Welche Sprache ist das? Es sieht so aus, als wäre es [tag: C++], aber ich sehe dieses Tag nicht. –
War auch nicht C, downvoted. –
@iharob - Es ist C#, das Tag ist da. – martinstoeckli