2015-12-26 5 views
0

Я пытаюсь создать телефонный справочник, в котором запрашивается имя пользователя для поиска, а затем отображается информация, соответствующая этому имени. Но когда я использую infoList [i] для сравнения с searchName вместо Rohan, он не входит в оператор if. я также попытался использовать цикл Еогеасп, до сих пор нет результата .... Пожалуйста, имейте в виду, отвечая, что я новичок: PТелефонный справочник

class Directory 
    { 
     public string name { get; set; } 
     public string address { get; set; } 
     public string email_id { get; set; } 
     public double phone_number { get; set; } 

     public Directory(string n, string a, string e, double p) 
     { 
      this.name = n; 
      this.address = a; 
      this.email_id = e; 
      this.phone_number = p; 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      string searchName; 
      List<Directory> infoList = new List <Directory>(); 
      infoList.Add(new Directory("Rohan ", "Pashan ", "[email protected] ", 9974177791)); 
      infoList.Add(new Directory("Prithvi ", "Naroda ", "[email protected] ", 9974177792)); 
      infoList.Add(new Directory("Aagam ", "Akshardham ", "[email protected] ", 9974177793)); 
      Console.Write("Which person's info do you want to search?? \n"); 
      searchName = Console.ReadLine(); 
      for(int i=0;i<infoList.Count;i++) 
      { 
       if (string.Compare(searchName, "Rohan") == 0) 
       { 
        Console.Write("Name : " + infoList[i].name + "\n"); 
        Console.Write("Address : " + infoList[i].address + "\n"); 

        Console.Write("Email id : " + infoList[i].email_id + "\n"); 

        Console.Write("Phone number : " + infoList[i].phone_number + "\n"); 
        break; 
       } 
      }     
      Console.ReadKey(); 
     } 
    } 
} 

ответ

2

Ваш код будет отображать только информацию, если вы введете «Рохан» из клавиатура, потому что ваша строка сравнивается, если сравнивать то, что было введено в буквальное жало «Рохан». Если вы хотите отобразить информацию любое имя изменить, если линию:

if (string.Compare (searchName, infoList[i].name) == 0) 

Также обратите внимание, что при создании записи в infoList каждое имя имеет два пробела в конце, так что вам нужно ввести эти пробелы в порядке для string.Compare, чтобы найти точный счет.

+0

Привет большое спасибо .... я использовал с использованием infoList [i] вместо Rohan на первом месте, но я не рассматривал пространства, как вы сказали ... да, это было так глупо хаха .... спасибо многому человеку! –

+0

Рад, что я мог помочь. – pcowan

+1

@RohanNevrikar Вместо того, чтобы оставить комментарий, рассмотрите [принятие ответа] (http://stackoverflow.com/help/someone-answers) – rene

Смежные вопросы