示例#1
0
        /// <summary>
        /// Gets four random product from the product list, with no duplications.
        /// </summary>
        /// <param name="products">The Products list from the order system.</param>
        /// <returns></returns>
        public IList<Product> GetRandomProducts()
        {
            /* To ensure uniqueness, we first create a list of product IDs.
             * Then we generate a random number to pull an ID from the list,
             * adter which we delete the ID from the list. That way, even if 
             * the same random number is generated twice, the product ID
             * selected will be unique. */

            // Initialize 
            int productID = -1;
            IList<Product> results = new List<Product>();

            // Create a list of product IDs
            List<int> productIdList = new List<int>();
            for (int i = 0; i < 10; i++)
            {
                productIdList.Add(i);
            }

            // Grab four products at random
            for (int i = 0; i < 4; i++)
            {
                // Get a random number
                int n = m_RandomNumberGenerator.Next(productIdList.Count - 1);

                // Get a product ID, then delete it
                productID = productIdList[n];
                productIdList.RemoveAt(n);

                // And add the product to the results list
                results.Add(p_Catalog[productID]);
            }

            // Set return value
            return results;
        }