Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace PhoneBook
- {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.InteropServices;
- class Program
- {
- static void Main()
- {
- string command = Console.ReadLine();
- Dictionary<string, string> phonebook = new Dictionary<string, string>();
- while (command != "END")
- {
- //Split by space - разделя целия стринг по спейсове за да получиш масив от елементи
- //A Nakov 0976463 след сплит ще стане масив с 3 елемнта като 1-рия ще е командата , 2-рия ще е името , а третия ще е номера
- string[] commandParts = command.Split(' ');
- //Командата
- string commandType = commandParts[0];
- switch (commandType)
- {
- case "A":
- string name = commandParts[1];
- string number = commandParts[2];
- phonebook[name] = number;
- //тук имах две възможности : едната е да ползвам phonebook.Add(name,number) и втората тази която съм ползвал горе. Каква е разликата ? При Add метода ако вече има такова име в речника ще ти гръмне а при това което аз ползвам ако има такова име просто ще замести номера , както искат в условието
- break;
- case "S":
- string searchedName = commandParts[1];
- //Проверявам дали съществува такова име в речника
- if (!phonebook.ContainsKey(searchedName))
- {
- // Ако не съществува изписвам че няма такъв човек
- Console.WriteLine($"Contact {searchedName} does not exist.");
- }
- else
- {
- //Ако има изписвам името и стойноста на името в речника , което е номера му
- Console.WriteLine($"{searchedName} -> {phonebook[searchedName]}");
- }
- break;
- case "ListAll":
- //Foreach на речника и го подреждам по Ключа , т.е името на човека
- foreach (var namephone in phonebook.OrderBy(n => n.Key))
- {
- //namephone е KeyValuePair - ключ който има стойност (речника се състои от KeyValuePair-и) за всеки вклю и стойност в речника принтирам ключа - името и стойноста - номера
- Console.WriteLine($"{namephone.Key} -> {namephone.Value}");
- }
- break;
- }
- command = Console.ReadLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement