2015-02-13 5 views
0

Я хотел был задать вопрос, потому что я не могу найти то, что искал в Интернете. Я хочу посмотреть/проверить, существует ли, например, студент IdNum.Проверка наличия объектов A объектов

Я не знаю правильного термина, который я ищу для него, и книга, которую я имею, на самом деле не очень полезна в том, что делать, когда нужно делать такую ​​проверку.

Вот код, что я был пытался до сих пор:

static void Main(string[] args) 
{ 
    Class1[] c1 = new Class1[10] 
    for (int i = 0; i < c1.Length; i++) 
    { 
     Console.WriteLine("enter Student ID"); 
     string text = Console.ReadLine(); 
     int value; 
     while (!Int32.TryParse(text, out value)) 
     { 
      Console.WriteLine("ID Was not a Valid ID Number. Try Again"); 
      text = Console.ReadLine(); 

     } 
     // maybe here say if IdNum exist or not 
     { 
      // Try a different number 
     }     
    } 
} 

Class Class1 
{ 
    public int IdNum { get; set; } 
    public int SomethingElse { get; set; } 
    // and so on 
} 

Благодаря

+0

может быть, что вы хотите, если (IdNum! = NULL) {// сделать что-то} –

ответ

1
IEnumerable<Class1> c1 = GetStudents(); 
string text = Console.ReadLine(); 
int value; 
while (!Int32.TryParse(text, out value)) 
{ 
    Console.WriteLine("ID Was not a Valid ID Number. Try Again"); 
    text = Console.ReadLine(); 
}  
bool exist = c1.Any(s = > s.IdNum == value); 

Если вы не хотите использовать LINQ, вы можете просто переписать последнюю строку с:

bool exist = false; 
foreach (var s in c1) 
{ 
    if (s.IdNum == value) 
    { 
     exist = true; 
     break; 
    } 
} 
+0

Правда, что будет работать, но есть другой способ, Wi использовать System.Linq? К сожалению Для этого Нельзя использовать его – SolidFire

+0

@SolidFire, да, см. Мое редактирование. – aush

+0

Спасибо, был сосредоточен на том, чтобы сделать это особым образом, что я только что забыл о петле foreach. – SolidFire

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