2013-06-22 2 views
0

Пожалуйста, кто-нибудь знает, как выбрать случайный элемент из массива?Выбор случайного элемента из многомерного массива

Я знаю, как реализовать на обычных переменных

Random rnd = new Random(); 
int no = rnd.Next(30); 
Console.WriteLine(no); 

, но мне нужно, чтобы реализовать его на массив.

+2

Что вы имеете в виду «реализовать случайным образом на массиве»? Что ты пытаешься сделать? – xxbbcc

+4

Вы хотите * заполнить * массив? * shuffle * массив? Или выберите * случайный элемент * из массива? Или...? –

+3

@MarcGravell - Я думаю, что OP хочет _implement_ 'Random' в массиве. – Oded

ответ

1

Вот пример того, как выбрать случайный элемент из массива.

int[] possible = new int[] { 0, 5, 10, 15 }; 
Random r = new Random(); 
int a = possible[r.Next(possible.length)]; 

Однако я должен отметить, что если вы вызываете это повторно, убедитесь, что вы вызываете только последнюю строку несколько раз. Вызов второй строки каждый раз может привести к повторным результатам, так как Random() использует текущее время как семя. Если время не изменилось, вы получите тот же результат несколько раз.

По просьбе ФП в: на два двухмерного массива:

//Assuming possible is an int[,] 
Random r = new Random(); 
int a = possible[r.Next(possible.GetLength(0)), r.Next(possible.GetLength(1))]; 
+0

Pls how я сделаю это в многомерном массиве –

+0

Я обновил, чтобы включить образец того, как применить его к 'int [,]'. Этого должно быть достаточно, чтобы показать вам, как применить его к вашему коду. –