У меня есть следующий:Возьмите N элементы из списка на условиях
IDictionary<QuestionDuration, Int32> rules = _service.GetRules();
List<Question> questions = _service.GetQuestions();
public class Question {
public QuestionDuration Duration { get; set; }
}
Словарных значения (Int32) являются количеством вопросов, которые мне нужно взять из списка с тем, что конкретным сроком ... Так что, если я есть словарь:
{{QuestionDuration.M2, 5}, {QuestionDuration.M4, 3}, {QuestionDuration.M8, 0}, ...
Поэтому мне нужно создать список от оригинала список из 5 вопросов 2 минуты, 4 вопроса 3 минуты, 0 вопросов 8 минут и т. д.
Я пытался сгруппировать и использовать выражение лямбда для этого, но я не смог ...
Как это сделать?
Спасибо,
Мигель
@lazyberszovsky: Элегантный; но детерминированным. Я выхожу из контекста, что ОП не хочет, чтобы одни и те же вопросы в каждой категории выбирались каждый раз. –
@PieterGeerkens, но вопросы не должны быть одинаковыми, потому что продолжительность отличается (если я правильно понял вопрос) –
@layberezovsky: Но первый 2-минутный вопрос будет одинаковым каждый раз; одинаковые для каждой другой продолжительности. Есть ли у вас такой же элегантный Shuffle в рукаве? –