2014-10-30 5 views
-5

Я хочу найти с ID в этом коде , когда пользователь записывает идентификатор информации об этом ID (название, имя, телефон) Как его реализовать?Поиск в C#

namespace Search 
{ 
class Program 
{ 
    static void InputStudent(Student x) 
    { 
     Console.WriteLine("Please enter a User:"); 
     Console.WriteLine("User ID:"); 
     x.ID = int.Parse(Console.ReadLine()); 
     Console.WriteLine(); 

     Console.WriteLine("Titel:"); 
     x.Titel = Console.ReadLine(); 

     Console.WriteLine("Name:"); 
     x.Name = Console.ReadLine(); 

     Console.WriteLine("Telephone Number:"); 
     x.Telephone = int.Parse(Console.ReadLine()); 
     Console.WriteLine(); 
    } 

    static void Main() 
    { 
     Student[] st = new Student[3]; 

     for (int i = 0; i < st.Length; i++) 
     { 
      st[i] = new Student(); 
      InputStudent(st[i]); 
     } 

     int IDs; 
     Console.Write("Please enter the number of ID you want to search for "); 
     IDs = Convert.ToInt32(Console.ReadLine()); 
    } 
    } 
} 
+1

Посмотрите 'FirstOrDefault' на MSDN. Вы что-то пробовали? – BradleyDotNET

+0

И не используйте массивы, но 'List ' – Steve

+0

Я знаю, но но я должен был использовать массивы в этой задаче –

ответ

1

Вы можете использовать LINQ, например Enumerable.FirstOrDefault:

Student firstWithID = st.FirstOrDefault(s => s.ID == IDs); 
if(firstWithID != null) 
{ 
    Console.WriteLine("User ID: {0} Titel: {1} Name: {2} Telephone Number: {3}" 
     , firstWithID.ID 
     , firstWithID.Titel 
     , firstWithID.Name 
     , firstWithID.Telephone); 
} 

Вам нужно добавить using System.Linq; в верхней части файла.

+0

спасибо tim;) –