I have many int variables, blueBallVelocityX1, blueBallVelocityX2, blueBallVelocityX3, blueBallVelocityX4, blueBallVelocityX5, blueBallVelocityX6, blueBallVelocityX7, blueBallVelocityX8, blueBallVelocityX9, blueBallVelocityX10, blueBallVelocityX11, blueBallVelocityX12, blueBallVelocityX13, blueBallVelocityX14, blueBallVelocityX15, blueBallVelocityX16, blueBallVelocityX17, blueBallVelocityX18, blueBallVelocityX19, blueBallVelocityX20 and blueBallVelocityY1 (1- 20)。すべての変数に値 5 を指定する必要があります。どうすればよいですか?
質問する
121 次
5 に答える
6
arrayなどのコレクションの使用を検討する必要があります。
const int VelocityLength = 20;
const int InitialVelocity = 5;
int[] blueBallVelocityX = new int[VelocityLength];
int[] blueBallVelocityY = new int[VelocityLength];
for (int i = 0; i < VelocityLength; i++)
{
blueBallVelocityX[i] = blueBallVelocityY[i] = InitialVelocity;
}
または:
int[] blueBallVelocityX = Enumerable.Repeat(InitialVelocity, VelocityLength).ToArray();
于 2013-07-23T08:11:11.850 に答える
1
あなたは多次元配列を探しているようです:
int[,] blueBallVelocity = new int[2,20];
for (int x = 0; x < 2; x++)
for (int y = 0; y < 20; y++)
blueBallVelocity[x, y] = 5;
または s の 1 次元配列Point
:
Point[] blueBallVelocity = new Point[20];
for (int i = 0; i < blueBallVelocity.Length; i++)
blueBallVelocity[i] = new Point(5, 5);
于 2013-07-23T08:11:11.280 に答える
1
このような
blueBallVelocityX1 = 5;
blueBallVelocityX2 = 5;
// ...
blueBallVelocityX20 = 5;
あなたがすべきことはもっとこのようなものです
public class Ball
{
public Color Color { get; set; }
public Point Location { get; set; }
public Vector2D Velocity { get; set; }
}
var balls = new List<Ball>(20);
for(int i = 0; i < 20; i++)
{
balls.Add(new Ball { Location = new Point(5, 5) });
}
于 2013-07-23T08:22:30.677 に答える
0
2 つのオプションが表示されます
- 多くの変数を作成する代わりに、それらを配列に入れます。
- 上記の点が達成できない場合は、反射を使用してください。
于 2013-07-23T08:11:41.773 に答える
0
int blueBallVelocityX1 = 5;
//...
int blueBallVelocityX20 = 5;
または、非常に多くの行を書くのにうんざりしている場合は、代わりに blueBallVelocity を再定義して配列にします。
var blueBallVelocity = new int[20];
for (var i = 0; i < blueBallVelocity.Length; i++) {
blueBallVelocity[i] = 5;
}
于 2013-07-23T08:12:22.123 に答える