Example #1
0
        static void Main(string[] args)
        {
            BiDictionary <int, string, string> biDictionary = new BiDictionary <int, string, string>();

            for (int i = 0; i < 10; i++)
            {
                biDictionary.Add(i, i.ToString(), string.Format("entry{0}", i));
            }

            ICollection <string> found;

            biDictionary.Add(0, "0", "duplicatedEntry0");
            found = biDictionary.FindUsingFirstKey(0);
            PrintCollection <string>(found);

            biDictionary.Add(1, "2", "duplicateInThreeDictionaries");
            found = biDictionary.FindUsingBothKeys(1, "2");
            PrintCollection(found);

            found = biDictionary.FindUsingBothKeys(5, "5");
            PrintCollection(found);

            biDictionary.Add(100, "99", "only value for those keys");
            PrintCollection(biDictionary.FindUsingFirstKey(100));
            PrintCollection(biDictionary.FindUsingSecondKey("99"));


            biDictionary.RemoveWithFirstKey(1);
            found = biDictionary.FindUsingFirstKey(1);
            Console.WriteLine("Found items after removing with first key: {0}", found.Count > 0);


            biDictionary.RemoveWithSecondKey("0");
            found = biDictionary.FindUsingSecondKey("0");
            Console.WriteLine("Found items after removing with second key: {0}", found.Count > 0);
            found = biDictionary.FindUsingFirstKey(0);
            Console.WriteLine("Found items with first key: {0}", found.Count > 0);

            biDictionary.RemoveWithBothKeys(100, "99");
            found = biDictionary.FindUsingBothKeys(100, "99");
            Console.WriteLine("Found items after removing with both keys: {0}", found.Count > 0);
        }