J'essaie de remplir chaque rangée d'un tableau à 2 dimensions avec 6 nombres aléatoires d'une liste Enumerable.Range qui contient 45 nombres. Chaque fois que 6 numéros ont été entrés dans la rangée spécifique du tableau, ils sont retirés de la liste. Le problème est que chaque ligne du tableau utilise la même liste jusqu'à ce qu'il n'y reste plus de nombres. Comment réinitialiser la liste pour chaque ligne?Comment remplir une ligne de tableau à deux dimensions avec des nombres aléatoires de la liste Enumerable.Range C#
C'est ce que j'ai jusqu'à présent:
static void InitMatrix(int[,] mat)
{
List<int> numbers = Enumerable.Range(1, 45).ToList();
Random rnd = new Random();
for (int i = 0; i < mat.GetLength(0); i++)
{
if(mat.GetLength(0)< mat.GetLength(1))
for (int j = 0; j < mat.GetLength(1); j++)
{
int index = rnd.Next(0, numbers.Count);
mat[i, j] = numbers[index];
numbers.RemoveAt(index);
}
}
}
Si vous souhaitez réinitialiser la liste à chaque fois, déclarer à l'intérieur de la boucle. Quelque chose comme 'Liste numéros = nouvelle Liste ; ... numbers = Enumerable.Range (1, 45) .ToList();' –
Eminem
@Eminem Je pense que vous l'avez. Postez cela comme une réponse et je vais vous donner +1. –
@TimS. Je suis trop lent pour ces gars-là .. :) – Eminem