Advertisement
Guest User

Phonebook

a guest
Oct 17th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.44 KB | None | 0 0
  1. namespace PhoneBook
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.     using System.Runtime.InteropServices;
  7.  
  8.     class Program
  9.     {
  10.         static void Main()
  11.         {
  12.             string command = Console.ReadLine();
  13.             Dictionary<string, string> phonebook = new Dictionary<string, string>();
  14.  
  15.             while (command != "END")
  16.             {
  17.                 //Split by space - разделя целия стринг по спейсове за да получиш масив от елементи
  18.                 //A Nakov 0976463 след сплит ще стане масив с 3 елемнта като 1-рия ще е командата , 2-рия ще е името , а третия ще е номера
  19.  
  20.                 string[] commandParts = command.Split(' ');
  21.  
  22.                 //Командата
  23.                 string commandType = commandParts[0];
  24.  
  25.                 switch (commandType)
  26.                 {
  27.                     case "A":
  28.                         string name = commandParts[1];
  29.                         string number = commandParts[2];
  30.  
  31.                         phonebook[name] = number;
  32.  
  33.                         //тук имах две възможности : едната е да ползвам phonebook.Add(name,number) и втората тази която съм ползвал горе. Каква е разликата ? При Add метода ако вече има такова име в речника ще ти гръмне а при това което аз ползвам ако има такова име просто ще замести номера , както искат в условието
  34.                         break;
  35.  
  36.                     case "S":
  37.                         string searchedName = commandParts[1];
  38.  
  39.                         //Проверявам дали съществува такова име в речника
  40.  
  41.                         if (!phonebook.ContainsKey(searchedName))
  42.                         {
  43.                             // Ако не съществува изписвам че няма такъв човек
  44.                             Console.WriteLine($"Contact {searchedName} does not exist.");
  45.                         }
  46.                         else
  47.                         {
  48.                             //Ако има изписвам името и стойноста на името в речника , което е номера му
  49.                             Console.WriteLine($"{searchedName} -> {phonebook[searchedName]}");
  50.                         }
  51.                         break;
  52.  
  53.                     case "ListAll":
  54.  
  55.                         //Foreach на речника и го подреждам по Ключа , т.е името на човека
  56.  
  57.                         foreach (var namephone in phonebook.OrderBy(n => n.Key))
  58.                         {
  59.                             //namephone е KeyValuePair - ключ който има стойност (речника се състои от KeyValuePair-и) за всеки вклю и стойност в речника принтирам ключа - името и стойноста - номера
  60.                             Console.WriteLine($"{namephone.Key} -> {namephone.Value}");
  61.                         }
  62.                         break;
  63.                 }
  64.  
  65.                 command = Console.ReadLine();
  66.             }
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement