以智能方式为X阵列分配值

时间:2014-02-04 21:42:37

标签: c# arrays

我有三个阵列:

int[] player1 = new int[22];
int[] player2 = new int[22];
int[] player3 = new int[22];

我有一个声明的int玩家和一个随机的:

int players = 0;
Random rand = new Random();
players = rand.Next(1, 4);

我有一个:

for (int i = 0; i < 10; i++){
    for (int p = 1; p < players + 1; p++) {
    }
}

在里面,因为我有另一个。

根据选择的随机播放器,我想为我的数组分配值。因此,例如,如果玩家是3,在我的第二个数组中,我想将值分配给:

int[] player1 = new int[22];
int[] player2 = new int[22];
int[] player3 = new int[22];

我的问题: 有没有一种好的打字方式,第一轮分配给player1,第二轮分配给player2,第三轮分配给player3。

for (int i = 0; i < 10; i++){
        for (int p = 1; p < players + 1; p++) {
            // assign to arrays. ? = if there is a good way to first assign to player1, then      player2 then player3
            ? = ...
        }
    }

1 个答案:

答案 0 :(得分:3)

为什么不制作jagged array名球员?

int[][] players = new[] { new int[22], new int[22], new int[22] };
for (int i = 0; i < 10; i++){
    for (int p = 0; p < players.Length; p++) {
        players[p][i] = rand.Next(1, 4);
    }
}

或者就此而言,2-dimensional array

int[,] players = new int[22, 3];                      // or [3, 22]
for (int i = 0; i < 10; i++){
    for (int p = 0; p < players.GetLength(1); p++) {  // or GetLength(0)
        players[i, p] = rand.Next(1, 4);              // or [p, i]
    }
}