Генерация уникальных случайных чисел - C#
Формулировка задачи:
Здравствуйте.
Есть следующий код:
Подскажите, можно ли сделать так, чтобы данные фамилия так же выводились в случайном порядке, но при этом, чтобы они не повторялись?
class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public Employee(int id, string name)
{
Name = name;
Id = id;
}
}
class Program
{
static void Main(string[] args)
{
List<Employee> listEmp = new List<Employee>();
listEmp.Add(new Employee(1, "Свиридов"));
listEmp.Add(new Employee(2, "Петров"));
listEmp.Add(new Employee(3, "Иванов"));
Random rand = new Random();
for (int i = 0; i < listEmp.Count; i++)
{
Console.WriteLine(listEmp[rand.Next(0, listEmp.Count)].Name);
}
Console.ReadLine();
}
}Решение задачи: «Генерация уникальных случайных чисел»
textual
Листинг программы
var xs = new List<Employee>(listEmp);
for (int i = 0; i < listEmp.Count; i++)
{
var n = rand.Next(0, xs.Count);
Console.WriteLine(xs[n].Name);
xs.RemoveAt(n);
}