Я пытаюсь заполнить каждую строку 2-мерного массива 6 случайными числами из списка Enumerable.Range, который содержит 45 чисел. Каждый раз, когда в определенную строку массива вводится 6 номеров, они удаляются из списка. Проблема в том, что каждая строка массива использует тот же список, пока в нем не останется номеров. Как сбросить список для каждой строки?Как заполнить строку 2-мерного массива случайными числами из Enumerable.Range list C#
Это то, что я до сих пор:
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);
}
}
}
Если вы хотите сбросить список каждый раз, объявить его внутри для цикла. Somethig like 'List numbers = new Список ; ... numbers = Enumerable.Range (1, 45) .ToList();' –
Eminem
@Eminem Я думаю, что у вас это есть. Отправьте это как ответ, и я дам вам +1. –
@TimS. Я слишком медленный для этих парней .. :) – Eminem