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); }
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(); } } }