Генератор случайных чисел - Без повторений - C#
Формулировка задачи:
Как можно сгенерировать 10 случайных цифр из 20. Без повторений.
и записать их в масив
Решение задачи: «Генератор случайных чисел - Без повторений»
textual
Листинг программы
private static void Main()
{
var l = Enumerable.Range(0, 10).RandomShuffle();
foreach (var i in l)
Console.WriteLine(i);
Console.ReadKey();
}
public static IList<T> RandomShuffle<T>(this IEnumerable<T> list)
{
var random = new Random();
var shuffle = new List<T>(list);
for (var i = 2; i < shuffle.Count; ++i)
{
var temp = shuffle[i];
var nextRandom = random.Next(i - 1);
shuffle[i] = shuffle[nextRandom];
shuffle[nextRandom] = temp;
}
return shuffle;
}