将M个客服随机分配给N个客户

Posted zslm___

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将M个客服随机分配给N个客户相关的知识,希望对你有一定的参考价值。

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个客户的主要内容,如果未能解决你的问题,请参考以下文章

Powershell根据给定的计数选择一个随机字母,并动态地将每个字母分配给一个唯一的变量?

如何使用JS实现页面内容随机显示

如是使用JS实现页面内容随机显示

如是使用JS实现页面内容随机显示

多臂强盗:当随机概率低于分配给强盗的成功概率时,为什么我们将奖励增加1

SQL Server Update:使用 TOP 限制更新的数据