在C#中排序通用列表

时间:2014-10-30 01:55:50

标签: c#-3.0 asp.net-3.5

我有一个通用列表,如下所示。

List<UsrProfile> lst = GetUsers();
lst.Sort();
ddlUser1.DataSource = lst;
ddlUser1.DataBind();

现在,下拉列表同时包含值和文本。现在我使用Generic列表按文本排序。

请帮忙。 我不能使用LinQ

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题(我可能不会......它不是很清楚),你想要由UsrProfile类的特定成员对列表进行排序。具体来说,是Text属性。

这很容易做到:lst.Sort((u1, u2) => u1.Text.CompareTo(u2.Text));应该做你想做的事。

这会将Comparison<UsrProfile>委托实例传递给List<UsrProfile>.Sort()方法,允许它自定义用于排序的比较逻辑。在这种情况下,不是将整个UsrProfile对象相互比较,而是仅比较对象之间的Text属性。