Пример #1
0
        static void Main(string[] args)
        {
            bool keepGoing = true;
            int listSize = 0;
            Collection listOfNumbers = null;
            NewCollection listOfStrings = null;

            Console.Clear();

            Console.Write("How many elements do you want to generate: ");
            string userInput = Console.ReadLine();
            if (!int.TryParse(userInput, out listSize))
            {
                listSize = 0;
            }

            if (listSize <= 0)
            {
                keepGoing = false;
            }
            else
            {
                listOfNumbers = new Collection(listSize);
            }

            while (keepGoing)
            {
                Console.WriteLine("\nChoose from the following options:\n");
                Console.WriteLine
                    ("\t1. Get the index of an item in the list.");
                Console.WriteLine("\t2. See if an item is in the list.");
                Console.WriteLine("\t3. Display the entire list.");
                Console.WriteLine("\t4. Sort the entire list.");
                Console.WriteLine("\t5. Generate a list of strings.");
                Console.WriteLine("\t6. Display the list of strings.");
                Console.WriteLine("\t7. Sort the list of strings.");
                Console.WriteLine("\tE. Exit.");
                Console.Write("\nYour choice: ");

                string userOption = Console.ReadLine();
                userOption = userOption.ToUpper();
                int targetNumber = -1;

                switch (userOption)
                {
                    case "1":
                        targetNumber = GetTargetNumber();
                        if (targetNumber > 0)
                        {
                            int index = listOfNumbers.IndexOf(targetNumber);
                            if (index >= 0)
                            {
                                Console.WriteLine
                                    ("\n{0} is found at index {1}.\n",
                                    targetNumber, index);
                            }
                            else
                            {
                                Console.WriteLine
                                    ("\n{0} is not in the list.\n",
                                    targetNumber);
                            }
                        }

                        break;

                    case "2":
                        targetNumber = GetTargetNumber();
                        if (targetNumber > 0)
                        {
                            if (listOfNumbers.Found(targetNumber))
                            {
                                Console.WriteLine("\n{0} is in the list.\n",
                                    targetNumber);
                            }
                            else
                            {
                                Console.WriteLine
                                    ("\n{0} is NOT in the list.\n",
                                    targetNumber);
                            }
                        }

                        break;

                    case "3":
                        Console.Write("\nThe list: {0}\n",
                            listOfNumbers.ToString());
                        break;

                    case "4":
                        //ISortable unsortedNumberList =
                        //    (ISortable)listOfNumbers;
                        //// By doing the following, the only methods that are
                        //// accessible via unsortedNumberList are those that
                        //// are found in ISortable and System.Object.
                        //ISortable unsortedNumberList =
                        //    listOfNumbers as ISortable;

                        //if (null != unsortedNumberList)
                        //{
                        //    SortTheList(unsortedNumberList);

                            SortTheList(listOfNumbers);
                            Console.WriteLine
                                ("\nThe list of numbers has been sorted.\n");

                        //}
                        //else
                        //{
                        //    Console.WriteLine("The current collection " +
                        //        "does not support ISortable!");
                        //}

                        break;

                    case "5":
                        listOfStrings = new NewCollection(listSize);
                        break;

                    case "6":
                        Console.Write("\nThe list: \n{0}",
                            listOfStrings.ToString());
                        break;

                    case "7":
                        //ISortable unsortedStringList =
                        //    (ISortable)listOfStrings;
                        //// By doing the following, the only methods that are
                        //// accessible via unsortedStringList are those that
                        //// are found in ISortable and System.Object.
                        //ISortable unsortedStringList =
                        //    listOfStrings as ISortable;

                        //if (null != unsortedStringList)
                        //{
                        //    SortTheList(unsortedStringList);
                            SortTheList(listOfStrings);
                            Console.WriteLine
                                ("\nThe list of strings has been sorted.\n");
                        //}
                        //else
                        //{
                        //    Console.WriteLine("The current collection " +
                        //        "does not support ISortable!");
                        //}

                        break;

                    case "E":
                        keepGoing = false;
                        break;

                    default:
                        Console.WriteLine
                            ("\nYour option {0} is not valid. Try again!\n",
                            userOption);
                        break;
                }
            }

            Console.Write("\n\nPress <ENTER> to end: ");
            Console.ReadLine();
        }
Пример #2
0
        static void Main(string[] args)
        {
            bool keepGoing = true;
            int listSize = 0;
            Collection listOfNumbers = null;

            Console.Clear();

            Console.Write("How many numbers do you want to generate: ");
            string userInput = Console.ReadLine();
            if (!int.TryParse(userInput, out listSize))
            {
                listSize = 0;
            }

            if (listSize <= 0)
            {
                keepGoing = false;
            }
            else
            {
                listOfNumbers = new Collection(listSize);
            }

            while (keepGoing)
            {
                Console.WriteLine("\nChoose from the following options:\n");
                Console.WriteLine
                    ("\t1. Get the index of an item in the list.");
                Console.WriteLine("\t2. See if an item is in the list.");
                Console.WriteLine("\t3. Display the entire list.");
                Console.WriteLine("\tE. Exit.");
                Console.Write("\nYour choice: ");

                string userOption = Console.ReadLine();
                userOption = userOption.ToUpper();
                int targetNumber = -1;

                switch (userOption)
                {
                    case "1":
                        targetNumber = GetTargetNumber();
                        Console.WriteLine("NOT IMPLEMENTED!");

                        break;

                    case "2":
                        targetNumber = GetTargetNumber();
                        Console.WriteLine("NOT IMPLEMENTED!");

                        break;

                    case "3":
                        Console.Write("\nThe list: {0}\n",
                            listOfNumbers.ToString());
                        break;

                    case "E":
                        keepGoing = false;
                        break;

                    default:
                        Console.WriteLine
                            ("\nYour option {0} is not valid. Try again!\n",
                            userOption);
                        break;
                }
            }

            Console.Write("\n\nPress <ENTER> to end: ");
            Console.ReadLine();
        }
Пример #3
0
        static void Main(string[] args)
        {
            bool keepGoing = true;
            int listSize = 0;
            Collection listOfNumbers = null;

            Console.Clear();

            Console.Write("How many numbers do you want to generate: ");
            string userInput = Console.ReadLine();
            if (!int.TryParse(userInput, out listSize))
            {
                listSize = 0;
            }

            if (listSize <= 0)
            {
                keepGoing = false;
            }
            else
            {
                listOfNumbers = new Collection(listSize);
            }

            while (keepGoing)
            {
                Console.WriteLine("\nChoose from the following options:\n");
                Console.WriteLine
                    ("\t1. Get the index of an item in the list.");
                Console.WriteLine("\t2. See if an item is in the list.");
                Console.WriteLine("\t3. Display the entire list.");
                Console.WriteLine("\t4. Sort the entire list.");
                Console.WriteLine("\tE. Exit.");
                Console.Write("\nYour choice: ");

                string userOption = Console.ReadLine();
                userOption = userOption.ToUpper();
                int targetNumber = -1;

                switch (userOption)
                {
                    case "1":
                        targetNumber = GetTargetNumber();
                        if (targetNumber > 0)
                        {
                            int index = listOfNumbers.IndexOf(targetNumber);
                            if (index >= 0)
                            {
                                Console.WriteLine
                                    ("\n{0} is found at index {1}.\n",
                                    targetNumber, index);
                            }
                            else
                            {
                                Console.WriteLine
                                    ("\n{0} is not in the list.\n",
                                    targetNumber);
                            }
                        }

                        break;

                    case "2":
                        targetNumber = GetTargetNumber();
                        if (targetNumber > 0)
                        {
                            if (listOfNumbers.Found(targetNumber))
                            {
                                Console.WriteLine("\n{0} is in the list.\n",
                                    targetNumber);
                            }
                            else
                            {
                                Console.WriteLine
                                    ("\n{0} is NOT in the list.\n",
                                    targetNumber);
                            }
                        }

                        break;

                    case "3":
                        Console.Write("\nThe list: {0}\n",
                            listOfNumbers.ToString());
                        break;

                    case "4":
                        // You can access the implicit implementation of an interface
                        //      method through the reference to the object.
                        listOfNumbers.Sort();

                        //  OR
                        //  You can access the implicit implementation of an interface
                        //      method by implicitly converting the object reference to
                        //      an interface reference and use the interface reference.
                        //      You will see how this will becomeadvantageous later on
                        //      using polymorphism.
                        //ISortable isort = listOfNumbers;
                        //isort.Sort();

                        Console.WriteLine("\nThe list has been sorted.\n");
                        break;

                    case "E":
                        keepGoing = false;
                        break;

                    default:
                        Console.WriteLine
                            ("\nYour option {0} is not valid. Try again!\n",
                            userOption);
                        break;
                }
            }

            Console.Write("\n\nPress <ENTER> to end: ");
            Console.ReadLine();
        }