BiDictionary.BiDictionaryDemo.Main C# (CSharp) Method

Main() public static method

public static Main ( ) : void
return void
        public static void Main()
        {
            string decorationLine = new string('-', Console.WindowWidth);
            Console.Write(decorationLine);
            Console.WriteLine("***Presenting the functionality of the data structure 'BiDictionary' - allows");
            Console.WriteLine("adding values by two keys, searching by a single key or by both keys and");
            Console.WriteLine("removing values by both keys***");
            Console.Write(decorationLine);

            BiDictionary<string, string, Person> peopleDictionary =
                new BiDictionary<string, string, Person>();

            Console.WriteLine("---Test add operation---");
            foreach (Person person in people)
            {
                peopleDictionary.Add(person.FirstName, person.LastName, person);
            }

            Console.WriteLine("Count after addition: {0}", peopleDictionary.Count);
            Console.WriteLine();

            Console.WriteLine("---Test get values by first key---");
            string firstName = "Gosho";
            Console.WriteLine("All people with first name '{0}' are:", firstName);
            PrintPeopleOnConsole(peopleDictionary.GetByFirstKey(firstName));
            Console.WriteLine();

            Console.WriteLine("---Test get values by second key---");
            string lastName = "Peshov";
            Console.WriteLine("All people with last name '{0}' are:", lastName);
            PrintPeopleOnConsole(peopleDictionary.GetBySecondKey(lastName));
            Console.WriteLine();

            Console.WriteLine("---Test get values by first key and second key---");
            string firstKey = "Gosho";
            string secondKey = "Goshov";
            Console.WriteLine("All people with first name '{0}' and last name '{1}' are:",
                firstKey,
                secondKey);
            PrintPeopleOnConsole(peopleDictionary.GetByBothKeys(firstKey, secondKey));
            Console.WriteLine();

            Console.WriteLine("---Test remove operation---");
            Console.WriteLine("Removing all people with first key '{0}' and second key '{1}'",
                firstKey,
                secondKey);
            peopleDictionary.Remove(firstKey, secondKey);
            Console.WriteLine("Count of people after removal: {0}", peopleDictionary.Count);
            Console.WriteLine("Count of people with first name '{0}' after removal: {1}",
                firstKey,
                peopleDictionary.GetByFirstKey(firstKey).Count);
            Console.WriteLine("Count of people with last name '{0}' after removal: {1}",
                secondKey,
                peopleDictionary.GetBySecondKey(secondKey).Count);
            Console.WriteLine();

            Console.WriteLine("---Test clear operation---");
            peopleDictionary.Clear();
            Console.WriteLine("Count of people after clearing the dictionary: {0}", peopleDictionary.Count);
        }