2017-02-21 4 views
-2

У меня есть проект, в котором я хочу, чтобы компьютер мог выбрать произвольный ассортимент предметов, число которых осталось до пользователя.Может ли случайный класс выбрать больше чисел?

Сначала я подумал, что у меня должен быть массив чисел, например, 1-16, а затем иметь массив для случайных выборов, таких как скрипка, альта и т. Д. Тогда я подумал, может быть, Мне нужен только один массив, и Random может сделать все остальное, даже если это массив строк, файл данных или что-то еще.

Есть ли я на правильном пути здесь с этой частью программы? Может ли случайный выбор случайного ассортимента, строк или символов? Цель этой программы будет заключаться в том, когда я хочу писать музыку и не забочусь о том, какая комбинация инструментов у меня есть, и я не чувствую себя особенно творчески на данный момент.

+3

магазин ваших вещей в коллекции, которая имеет численное индексатор, затем сгенерируйте случайное число для индекса и получите элемент в этом индексе. – CodeCaster

+0

Будет ли «нет» отвечать на ваш вопрос? Потому что это он. – HimBromBeere

+2

Конечно, [открыть вопрос] (http://stackoverflow.com/posts/42362726/timeline), чтобы опубликовать те же ответы, что и в дубликате ... – CodeCaster

ответ

0

Вы можете сохранить ваши товары в коллекции List<T>, а затем access the items by index.

Простое решение может быть:

var random = new Random(); 
var items = new List<string> { "apple", "orange", "banana" }; 
var index = random.Next(0, items.Count - 1); 
var item = items[index]; 

Аналогичный подход может быть использован с методом ElementAt расширения предоставляемой Linq:

var random = new Random(); 
var items = new List<string> { "apple", "orange", "banana" }; 
var item = items.ElementAt(random.Next(0, items.Count - 1)); 
+0

Как вы предотвращаете дубликаты? –

+0

Не связано с самим вопросом, и это будет ответственность менеджера коллекции, а не случайного процесса комплектования. –

+0

Я бы предположил, что предотвращение дубликатов очень близко к компетенции вопроса. –

Смежные вопросы