У меня есть коллекция IEnumerable следующим образом
var result1 = GetResult1() // Returns 2,4,5,6
Я должен жонглировать элементами и создать другую коллекцию случайным образом, что должно выглядеть следующим образом:
var result2 = GetResult2(result1) // Returns 2,4,5,6 in a random order.
// An example output would be 4,6,2,5 in the resultant collection.
Я сделал это следующими способами:
var result1 = GetResult1();
var random = new Random();
var result2 = result1.OrderBy(order=>random.Next());
Однако проблема в том, что, если я получаю доступ к result2, элементы в result2 снова перетасовываются, т. Е. Если я дважды выводю результаты result2 на консоль, элементы снова подвергаются жонглированию.
Подскажите, пожалуйста, как сохранить эту форму. Т.е. после того, как я манипулирую коллекцией, она должна оставаться такой же после этого. Я должен использовать ленивую оценку, так как результаты очень большие по размеру.