1. 程式人生 > >將M個客服隨機分配給N個客戶

將M個客服隨機分配給N個客戶

bsp spa 分配 user string new stat list() override

class AllocUser
    {
        //客戶多於客服
        public static void Test()
        {
            var customers = new List<Customer>()
            {
                new Customer()
                {
                    Name = "A"
                },
                new Customer()
                {
                    Name 
= "B" }, new Customer() { Name = "C" }, new Customer() { Name = "D" }, new Customer() { Name = "
E" }, new Customer() { Name = "F" }, new Customer() { Name = "G" }, }; var waiters = new List<Waiter>() {
new Waiter() { Name = "1" }, new Waiter() { Name = "2" }, new Waiter() { Name = "3" }, }; Alloc(customers, waiters.OrderBy(p => Guid.NewGuid()).ToList()); } private static void Alloc(List<Customer> customers, List<Waiter> waiters) { for (int i = 0; i < customers.Count; i++) { var customer = customers[i]; if (i < waiters.Count) { customer.WaiterName = waiters[i].Name; } else { customer.WaiterName = waiters[(i % waiters.Count)].Name; } System.Console.WriteLine(customer.ToString()); } } } class Customer { public string Name { get; set; } public string WaiterName { get; set; } public override string ToString() { return string.Format("客戶{0}被分配客服{1}", Name, WaiterName); } } class Waiter { public string Name { get; set; } }

將M個客服隨機分配給N個客戶