C#Asp.net Membership.GetAllUsers为了通过电子邮件 [英] C# Asp.net Membership.GetAllUsers order by email

查看:281
本文介绍了C#Asp.net Membership.GetAllUsers为了通过电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Membership.GetAllUsers()来获取我的用户列表。我想有列表中返回的电子邮件地址排序,因为我需要一些标志账户重复的电子邮件。

I am using Membership.GetAllUsers() to get my user list. I would like to have the list returned sorted by email address as I need to flag some accounts with duplicate emails.

Membership.GetAllUsers(),似乎由默认用户名订购。有没有办法来改变这种行为?

Membership.GetAllUsers() seems to order by username by default. Is there a way to change this behavior?

推荐答案

如果你可以用一个通用的清单,而不是活 MembershipUserCollection

If you can live with a generic list rather than a MembershipUserCollection:

Membership.GetAllUsers().Cast<MembershipUser>().OrderBy(x => x.Email).ToList();

使用的OrderBy(X =&GT; x.Email,StringComparer.OrdinalIgnoreCase)。如果你想不区分大小写的排序的电子邮件地址

Use OrderBy(x => x.Email, StringComparer.OrdinalIgnoreCase) if you want a case-insensitive sort of the email address.

会员code实际上predates泛型(这是从.NET 1.1开发集成到.NET 2.0),因此 MembershipUserCollection 没有实现通用接口

Membership code actually predates generics (it was integrated into .NET 2.0 from a .NET 1.1 development), hence MembershipUserCollection does not implement generic interfaces.

前面的问题的,你可能有兴趣在其他LINQ风格的操作。例如,下面会给你一本字典,它的键是电子邮件地址(不区分大小写),其值是相应的的MembershipUser 对象,通过上次活动日期降序排序列表:

Given your earlier question, you may be interested in other LINQ-style manipulations. For example the following will give you a dictionary whose keys are email addresses (case-insensitive), and whose values are lists of corresponding MembershipUser objects, sorted by last activity date descending:

var dictionary = Membership.GetAllUsers().Cast<MembershipUser>()
    .GroupBy(x => x.Email, StringComparer.OrdinalIgnoreCase)
    .ToDictionary(
                  x => x.Key, 
                  x =>x.OrderByDescending(u => u.LastActivityDate).ToList()
                 );

这篇关于C#Asp.net Membership.GetAllUsers为了通过电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆