Получите все Роли, Но выбор немногие Справка

Я столкнулся с проблемой, куда я должен удалить определенные объекты из наборов, которые, кажется, только имеют, получают все функции.

Моя Идея состоит в том, чтобы получить полный набор и затем удалить ненужные объекты. Затем возьмите тот новый набор и свяжите его с тем, в чем я нуждаюсь.

Например, Как я получаю все роли кроме администратора?

Roles strRoles = Roles.GetAllRoles()
RoleList.DataSource = (Roles) roles; //Roles.GetAllRoles();
RoleList.DataBind();

или Как я получаю всех пользователей, но говорю user123

MembershipUserCollection users = Membership.GetAllUsers();
UserList.DataSource = users;
UserList.DataBind();

Заранее спасибо, - Scott

1
задан Scott 13 August 2010 в 04:27
поделиться

1 ответ

Для этого можно использовать метод расширения LINQ Where. Методы расширения LINQ работают с коллекциями, реализующими интерфейс IEnumerable<>. Для первого примера можно сделать следующее:

RoleList.DataSource = Roles.GetAllRoles().Where(r => !r.Equals("Administrator"))

Для второго:

IEnumerable<MembershipUser> users = Membership.GetAllUsers().Cast<MembershipUser>()
UserList.DataSource = users.Where(m => !m.UserName.Equals("123"));

Вызов метода Cast сначала преобразует коллекцию в IEnumerable из Membershipusers.

2
ответ дан 2 September 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: