Пример #1
0
        public static void Main(string[] args)
        {
            BiDictionary<string, string, string> myDictonary = new BiDictionary<string, string, string>(true);

            myDictonary.AddByBothKeys("Ivan", "Ivanov", "Stude2222nt");
            myDictonary.AddByBothKeys("Ivan", "Ivanov", "Studasdent");
            myDictonary.AddByFirstKey("Ivan", "Student");
            myDictonary.AddByFirstKey("Ivan", "Student");
            myDictonary.AddByFirstKey("Ivan", "Student");
            myDictonary.AddByFirstKey("Ivan", "Student");

            var test = myDictonary.FindByFirstKey("Ivan");
            var test2 = myDictonary.FindByFirstAndSecondKey("Ivan", "Ivanov");
            foreach (var item in test2)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine(myDictonary.Count);
        }
Пример #2
0
        public static void Main()
        {
            BiDictionary<string, string, string> phonebook = new BiDictionary<string, string, string>(true);

            using (StreamReader inputReader = new StreamReader(@"../../phone.txt"))
            {
                string line = inputReader.ReadLine();

                while (line != null)
                {
                    string[] splitedLine = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    phonebook.AddByBothKeys(splitedLine[0].Trim(), splitedLine[1].Trim(), splitedLine[2].Trim());

                    phonebook.AddByFirstKey(splitedLine[0].Trim(), splitedLine[2].Trim());
                    phonebook.AddBySecondKey(splitedLine[1].Trim(), splitedLine[2].Trim());

                    line = inputReader.ReadLine();
                }
            }

            // command parser
            using (StreamReader inputReader = new StreamReader(@"../../commands.txt"))
            {
                string line = inputReader.ReadLine();

                while (line != null)
                {
                    Console.WriteLine(line);
                    string[] splitedLine = line.Split(new char[] { '(', ',', ')' }, StringSplitOptions.RemoveEmptyEntries);

                    if (splitedLine.Length == 2)
                    {
                        var result = phonebook.FindByFirstKey(splitedLine[1]);
                        foreach (var element in result)
                        {
                            Console.WriteLine(element);
                        }
                    }
                    else
                    {
                        var result = phonebook.FindByFirstAndSecondKey(splitedLine[1].Trim(), splitedLine[2].Trim());
                        foreach (var element in result)
                        {
                            Console.WriteLine(element);
                        }
                    }

                    line = inputReader.ReadLine();
                }
            }
        }