2015-09-15 2 views
1

У меня есть класс с именем UserDetail. У меня есть поле Userstatus в классе userdetail и создано List (UserDetail).Создайте dyanamic список из списка (класса), где условие

 

Dim UserList As New List(Of UserDetail)() 

UserList.Add(New UserDetail() With {.UserId = 1, .UserName = 'ABC', .Status= 0 }) 
UserList.Add(New UserDetail() With {.UserId = 2, .UserName = 'CFC', .Status= 2 }) 
UserList.Add(New UserDetail() With {.UserId = 3, .UserName = 'AAC', .Status= 2 }) 

Я хочу, чтобы перебирать все userdetail из списка и получить все со статусом = 1 в новый список wihch содержит только UserID.

Как я могу сделать это с минимальным шагом ..

ответ

1

Вы можете использовать LINQ применить фильтр с помощью .Where и получить список UserId с помощью .Select

C# синтаксис

var result = UserList.Where(u=>u.status == 1).Select(u=>u.UserId); 

Синтаксис VB

Dim result = From user In UserList 
       Where UserList.status = 1 
       Select user.UserId 

В этой статье MSDN Introduction to LINQ in Visual Basic поможет вам научиться Linq с помощью VB.net

0

Вы можете использовать LINQ для итерации список пользователей:

For Each user As var In UserList.Where(Function(u) u.Status = 1) 
    ... 
Next 
Смежные вопросы