如何在C#编程中进行循环
本文关键字:循环 编程 | 更新日期: 2023-09-27 18:24:43
我必须允许20个球在屏幕上移动。我想知道如何使用循环,这样我就不必长时间地键入代码。目前,我的代码是
for (int i = 0; i < ballSpeedXAxis.Length; i++)
{
ballSpeedXAxis[i] = 1;
}
for (int i = 0; i < ballSpeedYAxis.Length; i++)
{
ballSpeedYAxis[i] = 1;
}
private void OnUpdate(object sender, object e)
{
Canvas.SetLeft(this.ball1, this.ballSpeedXAxis[1] + Canvas.GetLeft(this.ball1));
Canvas.SetTop(this.ball1, this.ballSpeedYAxis[1] + Canvas.GetTop(this.ball1));
Canvas.SetLeft(this.ball2, this.ballSpeedXAxis[2] + Canvas.GetLeft(this.ball2));
Canvas.SetTop(this.ball2, this.ballSpeedXAxis[2] + Canvas.GetTop(this.ball2));
...
Canvas.SetLeft(this.ball20, this.ballSpeedXAxis[20] + Canvas.GetLeft(this.ball20));
Canvas.SetTop(this.ball20, this.ballSpeedXAxis[20] + Canvas.GetTop(this.ball20));
}
ball1、ball2。。。ball3是图像名称。
有不同的方法。。最明显的是:
Image ball1;
Image ball2;
Image ball3;
// .. etc ...
你也可以把它们放在一个数组中:
Image[] balls = new Image[20];
和你的速度一样。然后您可以将更新方法更改为:
private void OnUpdate(object sender, object e) {
for (int i = 0; i < balls.Length; i++) {
Canvas.SetLeft(balls[i], ballSpeedXAxis[i] + Canvas.GetLeft(balls[i]));
Canvas.SetTop(balls[i], ballSpeedYAxis[i] + Canvas.GetTop(balls[i]));
}
}
其他方法包括将已经创建的图像放入List<Image>
。。但这有点恶心。